XML DOM skapande av noder
- Föregående sida DOM ersätt nod
- Nästa sida DOM lägg till nod
Skapa en ny elementnod
createElement()
Metoden skapar en ny elementnod:
Exempel 1
newElement = xmlDoc.createElement("edition"); xmlDoc.getElementsByTagName("book")[0].appendChild(newElement);
Exempel förklaring:
- Anta att books.xml redan har laddats in i
xmlDoc
i - Skapa en ny elementnod <edition>
- Lägg till denna elementnod till den första <book>-elementet
Exempel 2
Genomgå och lägg till ett element till alla <book>-element:
for (i = 0; i < xLen; i++) { newEle = xmlDoc.createElement("edition"); newText = xmlDoc.createTextNode("Första upplagan"); newEle.appendChild(newText); x[i].appendChild(newEle); {}
Skapa en ny egenskapsnod
createAttribute()
Används för att skapa nya egenskapsnoder:
Exempel 1
newAtt = xmlDoc.createAttribute("edition"); newAtt.nodeValue = "第一版"; xmlDoc.getElementsByTagName("title")[0].setAttributeNode(newAtt);
Exempel förklaring:
- Anta att books.xml har laddats in i
xmlDoc
i - Skapa en ny egenskapsnod
"edition"
- Sätt värde på denna egenskapsnod till
"first"
- Lägg till denna nya egenskapsnod till den första <title>-elementet
Exempel 2
Genomgå alla <title>-element och lägg till ny egenskapsnod:
for (i = 0; i < xLen; i++) { newAtt = xmlDoc.createAttribute("edition"); newAtt.value = "第一版"; x[i].setAttributeNode(newAtt); {}
Om egenskapen redan finns, ersätt den med den nya egenskapen.
skapa egenskaper med setAttribute()
Eftersom setAttribute()
Metoden skapar en ny egenskap om den inte finns, så den kan också användas för att skapa nya egenskaper.
Exempel 1
xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","first");
Exempel förklaring:
- Anta att books.xml redan har laddats in i
xmlDoc
i - Sätt värde på den första <book>-elementets
"edition"
Värdet för egenskapen sätts till"first"
Exempel 2
Genomgå alla <title>-element och lägg till ny egenskap:
for(i = 0; i < x.length; i++) { x[i].setAttribute("edition", "第一版"); {}
Skapa textnod
createTextNode()
Metoden skapar en ny textnod:
Exempel 1
newEle = xmlDoc.createElement("edition"); newText = xmlDoc.createTextNode("first"); newEle.appendChild(newText); xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
Exempel förklaring:
- Anta att books.xml redan har laddats in i
xmlDoc
i - Skapa ett nytt elementnod <edition>
- Skapa en ny textnod som innehåller text
"first"
- Lägg till den nya textnoden till den nya elementnoden
- Lägg till det nya elementnoden till det första <book>-elementet
Exempel 2
Lägg till elementnod med textnod till alla <book>-element:
for (i = 0; i < xLen; i++) { newEle = xmlDoc.createElement("edition"); newText = xmlDoc.createTextNode("Första upplagan"); newEle.appendChild(newText); x[i].appendChild(newEle); {}
Skapa CDATA Section nod
createCDATASection()
Metoden skapar en ny CDATA-section nod.
Exempel 1
newCDATA = xmlDoc.createCDATASection("Nyttårserbjudande & Begränsad Rabatt"); xmlDoc.getElementsByTagName("book")[0].appendChild(newCDATA);
Exempel förklaring:
- Anta att books.xml redan har laddats in i
xmlDoc
i - Skapa en ny CDATA-section nod
- Lägg till den nya CDATA- noden till det första <book>-elementet
Exempel 2
Genomloppar och lägger till CDATA-del till alla <book>-element:
x = xmlDoc.getElementsByTagName("book"); xLen = x.length; newtext = "Nyttårserbjudande & Begränsad Rabatt"; for (i = 0; i < xLen; i++) { newCDATA = xmlDoc.createCDATASection(newtext); x[i].appendChild(newCDATA); {}
Skapa kommentarstagg
createComment()
Metoden skapar en ny kommentarstagg.
Exempel 1
newComment = xmlDoc.createComment("Reviderad i februari 2024"); xmlDoc.getElementsByTagName("book")[0].appendChild(newComment);
Exempel förklaring:
- Anta att books.xml redan har laddats in i
xmlDoc
i - Skapa en ny kommentarstagg
- Lägg till den nya kommentarstagan till det första <book>-elementet
Exempel 2
Genomloppar och lägger till kommentarstagg till alla <book>-element:
x = xmlDoc.getElementsByTagName("book"); xLen = x.length for (i = 0; i < xLen; i++) { newComment = xmlDoc.createComment("Reviderad i februari 2024"); x[i].appendChild(newComment); {}
- Föregående sida DOM ersätt nod
- Nästa sida DOM lägg till nod