XML DOM tilføje knuder
- Forrige side DOM Opret Node
- Næste side DOM Klon Node
Tilføj node - appendChild()
appendChild()
Metoden tilføjer undernode til eksisterende node.
Ny node kan tilføjes (tilføjes) efter enhver eksisterende undernode.
Bemærk:Hvis node positionen er vigtig, brug insertBefore().
Dette stykke kode opretter et element (<edition>) og tilføjer det efter den sidste underelement af den første <book> element:
Eksempel 1
newEle = xmlDoc.createElement("edition"); xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
Eksempel på forklaring:
- Antag books.xml er blevet indlæst til
xmlDoc
i - Opret ny knude <edition>
- Tilføj node til den første <book> element
Dette stykke kode har samme funktion som ovenstående, men den nye element har tilføjet en værdi:
Eksempel 2
newEle = xmlDoc.createElement("edition"); newText = xmlDoc.createTextNode("første udgave"); newEle.appendChild(newText); xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
Eksempel på forklaring:
- Antag books.xml er blevet indlæst til
xmlDoc
i - Opret ny knude <edition>
- Opret en ny tekstknude
"første udgave"
- Tilføj denne tekstknude til <edition>-knuden
- Tilføj <edition>-knuden til <book>-elementet
Indsæt knude - insertBefore()
insertBefore()
Metoden indsætter en knude før den angivne underknude.
Hvis placeringen af den tilføjede knude er vigtig, er denne metode meget nyttig:
Eksempel
newNode = xmlDoc.createElement("book"); x = xmlDoc.documentElement; y = xmlDoc.getElementsByTagName("book")[3]; x.insertBefore(newNode,y);
Eksempel på forklaring:
- Antag books.xml er blevet indlæst til
xmlDoc
i - Opret en ny elementknude <book>
- Sæt denne nye knude ind foran den sidste <book>-elementknude
- hvis den anden parameter til insertBefore() er null, vil den nye knude blive tilføjet efter den sidste eksisterende underknude.
x.insertBefore(newNode,null) og x.appendChild(newNode) kan tilføje nye underknuder til x.
Tilføj ny egenskab
setAttribute()
metoden sætter egenskabens værdi.
hvis egenskaben ikke findes, setAttribute()
kan oprette en ny egenskab:
Eksempel
xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","første udgave");
Eksempel på forklaring:
- Antag books.xml er blevet indlæst til
xmlDoc
i - Sæt værdien af "edition"-egenskaben for den første <book>-element til "første udgave"
Bemærk:Der findes ingen metode med navnet addAttribute(), hvis egenskaben ikke findes, vil setAttribute() oprette en ny egenskab. Hvis egenskaben allerede findes, vil setAttribute() metoden overskrive den eksisterende værdi.
Tilføj tekst til tekstknude - insertData()
insertData()
Metoden indsætter data i den eksisterende tekstknude.
insertData()
Metoden har to parametre:
- offset Hvor starter du med at indsætte tegn (fra 0)
- string - Den streng, der skal indsættes
Følgende kodefragment tilføjer "Jegs favorit" til den allerede indlæste XMLs første <title> elements tekstnode:
Eksempel
xmlDoc.getElementsByTagName("title")[0].childNodes[0].insertData(0,"Jegs favorit");
- Forrige side DOM Opret Node
- Næste side DOM Klon Node