XML DOM-skapande av noder
- Föregående sida DOM Ersätt nod
- Nästa sida DOM Lägg till nod
Exempel
Följande exempel använder XML-filer books.xml.
Funktion loadXMLDoc()Ligger utanför extern JavaScript, används för att ladda XML-filer.
- Skapa en elementnod
- Detta exempel använder createElement() för att skapa en ny elementnod och använder appendChild() för att lägga till den till en nod.
- Genom att använda createAttribute för att skapa en egenskapsnod
- Detta exempel använder createAttribute() för att skapa en ny egenskapsnod och använder setAttributeNode() för att infoga noden i ett element.
- Genom att använda setAttribute för att skapa en egenskapsnod
- Detta exempel använder setAttribute() för att skapa en ny egenskap för ett element.
- Skapa textnod
- Detta exempel använder createTextNode() för att skapa en ny textnod och använder appendChild() för att lägga till den till en element.
- Skapa en CDATA-section-nod
- Detta exempel använder createCDATAsection() för att skapa en CDATA-section-nod och använder appendChild() för att lägga till den till en element.
- Skapa kommentar nod
- Detta exempel använder createComment() för att skapa en comment-nod och använder appendChild() för att lägga till den till en element.
Skapa nya elementnoder
createElement() metoden skapar nya elementnoder:
xmlDoc=loadXMLDoc("books.xml"); newel=xmlDoc.createElement("edition"); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newel);
Exempel förklaring:
- Genom att använda loadXMLDoc() Lägg till \books.xml"Ladda xmlDoc"
- Skapa en ny elementnod <edition>
- Lägg till denna elementnod till den första <book> elementen
Genomgå och lägg till en element till alla <book> element:TIY
Skapa nya egenskapsnoder
createAttribute() används för att skapa nya egenskapsnoder:
xmlDoc=loadXMLDoc("books.xml"); newatt=xmlDoc.createAttribute("edition"); newatt.nodeValue="first"; x=xmlDoc.getElementsByTagName("title"); x[0].setAttributeNode(newatt);
Exempel förklaring:
- Genom att använda loadXMLDoc() Lägg till \books.xml"Ladda xmlDoc"
- Skapa en ny egenskapsnod "edition"
- Lägg till denna nya egenskapsnod till den första <title> elementen
Genomgå alla <title> element och lägg till en ny egenskapsnod:TIY
Kommentar: Om egenskapen redan finns, ersätts den av den nya egenskapen.
Skapa egenskaper genom att använda setAttribute()
Eftersom setAttribute() kan skapa nya egenskaper när egenskapen inte finns, kan vi använda denna metod för att skapa nya egenskaper.
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book'); x[0].setAttribute("edition","first");
Exempel förklaring:
- Genom att använda loadXMLDoc() Lägg till \books.xml"Ladda xmlDoc"
- Ställ in (skapa) egenskapen med värdet "first" för den första <book> elementen
Genomgå alla <title> element och lägg till en ny egenskap:TIY
Skapa textnod
createTextNode() metoden skapar nya textnodar:
xmlDoc=loadXMLDoc("books.xml"); newel=xmlDoc.createElement("edition"); newtext=xmlDoc.createTextNode("first"); newel.appendChild(newtext); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newel);
Exempel förklaring:
- Genom att använda loadXMLDoc() Lägg till \books.xml"Ladda xmlDoc"
- Skapa en ny elementnod <edition>
- Skapa en ny textnod, whose text is "first"
- Lägg till en ny textnod till denna elementnod
- Lägg till en ny elementnod till den första <book> elementen
Lägg till en elementnod med en textnod till alla <book> element:TIY
Skapa en CDATA Section nod
createCDATASection() metoden skapar en ny CDATA-section nod.
xmlDoc=loadXMLDoc("books.xml"); newCDATA=xmlDoc.createCDATASection("Special Offer & Book Sale"); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newCDATA);
Exempel förklaring:
- Genom att använda loadXMLDoc() Lägg till \books.xml"Ladda xmlDoc"
- Skapa en ny CDATA section nod
- Lägg till den nya CDATA section noden till den första <book> elementet
Genomför en traversal och lägg till en CDATA section till alla <book> element:TIY
Skapa kommentar nod
createComment() metoden skapar en ny kommentar nod.
xmlDoc=loadXMLDoc("books.xml"); newComment=xmlDoc.createComment("Revised March 2008"); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newComment);
Exempel förklaring:
- Genom att använda loadXMLDoc() Lägg till \books.xml"Ladda xmlDoc"
- Skapa en ny kommentar nod
- Lägg till den nya kommentar noden till den första <book> elementet
Loopa och lägg till en comment nod till alla <book> element:TIY
- Föregående sida DOM Ersätt nod
- Nästa sida DOM Lägg till nod