Lägg till XML DOM-noder
- Föregående sida DOM skapa nod
- Nästa sida DOM klon nod
Lägg till nod - appendChild()
appendChild()
Metoden lägger till barnnoden till den befintliga noden.
Den nya noden kan läggas till (läggas till) efter vilken som helst befintlig barnnod.
Observera:Använd insertBefore() om nodens position är viktig.
Följande kodsegment skapar ett element (<edition>) och lägger till det efter den sista barnnoden till den första <book>-elementet:
Exempel 1
newEle = xmlDoc.createElement("edition"); xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
Exempel på förklaring:
- Anta books.xml har laddats in till
xmlDoc
i - Skapa en ny nod <edition>
- Lägg till noden till den första <book>-elementet
Följande kodsegment har samma funktion som ovan, men den nya elementet har lagts till ett värde:
Exempel 2
newEle = xmlDoc.createElement("edition"); newText = xmlDoc.createTextNode("第一版"); newEle.appendChild(newText); xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
Exempel på förklaring:
- Anta books.xml har laddats in till
xmlDoc
i - Skapa en ny nod <edition>
- Skapa en ny textnod
"första upplagan"
- Lägg till denna textnod till <edition>-noden
- Lägg till <edition>-noden till <book>-elementet
Infoga nod - insertBefore()
insertBefore()
Metoden lägger in en nod innan den angivna undernoden.
Detta är användbart om positionen för den tillagda noden är viktig:
Exempel
newNode = xmlDoc.createElement("book"); x = xmlDoc.documentElement; y = xmlDoc.getElementsByTagName("book")[3]; x.insertBefore(newNode,y);
Exempel på förklaring:
- Anta books.xml har laddats in till
xmlDoc
i - Skapa ett nytt element <book>
- Lägg till denna nya nod innan den sista <book>-elementnoden
- om den andra parametern till insertBefore() är null, läggs den nya noden till efter den sista befintliga undernoden.
x.insertBefore(newNode,null) och x.appendChild(newNode) kan lägga till nya undernoder till x.
Lägg till ny egenskap
setAttribute()
metoden ställer in egenskapens värde.
om egenskapen inte finns, setAttribute()
kan skapa en ny egenskap:
Exempel
xmlDoc.getElementsByTagName('book')[0].setAttribute("första upplagan","första upplagan");
Exempel på förklaring:
- Anta books.xml har laddats in till
xmlDoc
i - Sätt värdet på "edition"-egenskapen för den första <book>-elementet till "första upplagan"
Observera:Det finns ingen metod med namnet addAttribute(), om egenskapen inte finns, skapar setAttribute() en ny egenskap. Om egenskapen redan finns, kommer setAttribute() -metoden att ersätta den befintliga värdet.
Lägg till text till textnoden - insertData()
insertData()
Metoden lägger in data i den befintliga textnoden.
insertData()
Metoden har två parametrar:
- offset Från varje punkt börjar man infoga tecken (från 0)
- string - Strängen som ska läggas till
Följande kodsnutt lägger till "min favorit" till den första <title> elementets textnod i laddad XML:
Exempel
xmlDoc.getElementsByTagName("title")[0].childNodes[0].insertData(0,"min favorit");
- Föregående sida DOM skapa nod
- Nästa sida DOM klon nod