XML DOM Knooppunten maken
Probeer het zelf - Voorbeelden
De onderstaande voorbeelden gebruiken het XML-bestand books.xml .
In dit voorbeeld wordt createElement() gebruikt om een nieuw elementknooppunt te maken en appendChild() om het aan een knooppunt toe te voegen.
In dit voorbeeld wordt createAttribute() gebruikt om een nieuw attribuutknooppunt te maken en setAttributeNode() om het in een element in te voegen.
In dit voorbeeld wordt setAttribute() gebruikt om een nieuw attribuut voor een element te maken.
tekstknooppunt maken In dit voorbeeld wordt createTextNode() gebruikt om een nieuw tekstknooppunt te maken en appendChild() om het aan een element toe te voegen.
In dit voorbeeld wordt createCDATAsection() gebruikt om een CDATA-sectieknooppunt te maken en appendChild() om het aan een element toe te voegen.
In dit voorbeeld wordt createComment() gebruikt om een commentaarknooppunt te maken en appendChild() om het aan een element toe te voegen.
Een nieuw elementknooppunt maken
De methode createElement() maakt een nieuw elementknooppunt:
Voorbeeld
newElement = xmlDoc.createElement("edition");
xmlDoc.getElementsByTagName("book")[0].appendChild(newElement);
Voorbeeld uitgelegd:
- Stel dat " books.xml " is geladen in xmlDoc
- Maak een nieuw elementknooppunt <editie>
- Voeg het elementknooppunt toe aan het eerste <book> element
Loop door en voeg een element toe aan alle <book> elementen:
Een nieuw kenmerkknooppunt maken
De createAttribute() wordt gebruikt om een nieuw attribuutknooppunt te maken:
Voorbeeld
newAtt = xmlDoc.createAttribute("edition");
newAtt.nodeValue = "first";
xmlDoc.getElementsByTagName("title")[0].setAttributeNode(newAtt);
Voorbeeld uitgelegd:
- Stel dat " books.xml " is geladen in xmlDoc
- Maak een nieuw attribuutknooppunt "editie"
- Stel de waarde van het attribuutknooppunt in op "eerste"
- Voeg het nieuwe attribuutknooppunt toe aan het eerste <title>-element
Loop door alle <title>-elementen en voeg een nieuw attribuutknooppunt toe:
Als het attribuut al bestaat, wordt het vervangen door het nieuwe.
Maak een attribuut met behulp van setAttribute()
Aangezien de methode setAttribute() een nieuw attribuut maakt als het attribuut niet bestaat, kan het worden gebruikt om een nieuw attribuut te maken.
Voorbeeld
xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","first");
Voorbeeld uitgelegd:
- Stel dat " books.xml " is geladen in xmlDoc
- Stel de attribuut "edition" waarde in op "first" voor het eerste <book> element
Loop door alle <title>-elementen en voeg een nieuw attribuut toe:
Een tekstknooppunt maken
De methode createTextNode() maakt een nieuw tekstknooppunt:
Voorbeeld
newEle = xmlDoc.createElement("edition");
newText = xmlDoc.createTextNode("first");
newEle.appendChild(newText);
xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
Voorbeeld uitgelegd:
- Stel dat " books.xml " is geladen in xmlDoc
- Maak een nieuw elementknooppunt <editie>
- Maak een nieuw tekstknooppunt met de tekst "eerste"
- Voeg het nieuwe tekstknooppunt toe aan het elementknooppunt
- Voeg het nieuwe elementknooppunt toe aan het eerste <book> element
Voeg een elementknooppunt, met een tekstknooppunt, toe aan alle <boek> elementen:
Een CDATA-sectieknooppunt maken
De methode createCDATASection() maakt een nieuw CDATA-sectieknooppunt.
Voorbeeld
newCDATA = xmlDoc.createCDATASection("Special Offer & Book Sale");
xmlDoc.getElementsByTagName("book")[0].appendChild(newCDATA);
Voorbeeld uitgelegd:
- Stel dat " books.xml " is geladen in xmlDoc
- Een nieuw CDATA-sectieknooppunt maken
- Voeg het nieuwe CDATA-knooppunt toe aan het eerste <book>-element
Loop door en voeg een CDATA-sectie toe aan alle <book>-elementen:
Een commentaarknooppunt maken
De methode createComment() maakt een nieuw commentaarknooppunt.
Voorbeeld
newComment = xmlDoc.createComment("Revised March 2015");
xmlDoc.getElementsByTagName("book")[0].appendChild(newComment);
Voorbeeld uitgelegd:
- Stel dat " books.xml " wordt geladen in xmlDoc met behulp van
- Een nieuw commentaarknooppunt maken
- Voeg het nieuwe commentaarknooppunt toe aan het eerste <book> element
Loop door en voeg een commentaarknooppunt toe aan alle <book>-elementen: