XML DOM Nodes Creëren

Voorbeeld

De volgende voorbeelden gebruiken XML-bestanden books.xml.

Functie loadXMLDoc()Ligt buiten het JavaScript, gebruikt om XML-bestanden te laden.

Maak een elementknop
Dit voorbeeld gebruikt createElement() om een nieuwe elementknop te maken en appendChild() om deze toe te voegen aan een knop.
Door het gebruik van createAttribute om een eigenschapsknop te maken
Dit voorbeeld gebruikt createAttribute() om een nieuwe eigenschapsknop te maken en setAttributeNode() om deze in een element in te voegen.
Door het gebruik van setAttribute om een eigenschapsknop te maken
Dit voorbeeld gebruikt setAttribute() om een nieuwe eigenschap voor een element te maken.
Maak een tekst knoop aan
Dit voorbeeld gebruikt createTextNode() om een nieuwe tekstknop te maken en appendChild() om deze toe te voegen aan een element.
Maak een CDATA sectieknop
Dit voorbeeld gebruikt createCDATAsection() om een CDATA sectieknop te maken en appendChild() om deze toe te voegen aan een element.
Create comment node
Dit voorbeeld gebruikt createComment() om een commentaarknop te maken en appendChild() om deze toe te voegen aan een element.

Maak een nieuwe element knoop aan

De methode createElement() maakt een nieuwe element knoop aan:

xmlDoc=loadXMLDoc("books.xml");
newel=xmlDoc.createElement("edition");
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newel);

Example explanation:

  1. By using loadXMLDoc() Put "books.xml" Load xmlDoc
  2. Maak een nieuwe element knoop <edition> aan
  3. Voeg deze element knoop toe aan het eerste <book> element

TIY

Bewerk en voeg een element toe aan alle <book> elementen:TIY

Maak een nieuwe eigenschap knoop aan

createAttribute() wordt gebruikt om een nieuwe eigenschap knoop aan te maken:

xmlDoc=loadXMLDoc("books.xml");
newatt=xmlDoc.createAttribute("edition");
newatt.nodeValue="first";
x=xmlDoc.getElementsByTagName("title");
x[0].setAttributeNode(newatt); 

Example explanation:

  1. By using loadXMLDoc() Put "books.xml" Load xmlDoc
  2. Maak een nieuwe eigenschap knoop "edition" aan
  3. Voeg deze nieuwe eigenschap knoop toe aan het eerste <title> element

TIY

Bewerk alle <title> elementen en voeg een nieuwe eigenschap knoop toe:TIY

Opmerking: Als de eigenschap al bestaat, wordt deze door de nieuwe eigenschap vervangen.

Maak eigenschappen aan met behulp van setAttribute()

Omdat setAttribute() een nieuwe eigenschap kan maken als de eigenschap niet bestaat, kunnen we deze methode gebruiken om nieuwe eigenschappen te maken.

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName('book');
x[0].setAttribute("edition","first");

Example explanation:

  1. By using loadXMLDoc() Put "books.xml" Load xmlDoc
  2. Stel (maak) een eigenschap met de waarde "first" in voor het eerste <book> element

TIY

Bewerk alle <title> elementen en voeg een nieuwe eigenschap toe:TIY

Maak een tekst knoop aan

De methode createTextNode() maakt een nieuwe tekst knoop aan:

xmlDoc=loadXMLDoc("books.xml");
newel=xmlDoc.createElement("edition");
newtext=xmlDoc.createTextNode("first");
newel.appendChild(newtext);
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newel);

Example explanation:

  1. By using loadXMLDoc() Put "books.xml" Load xmlDoc
  2. Maak een nieuwe element knoop <edition> aan
  3. Maak een nieuwe tekst knoop aan, met de tekst "first"
  4. Voeg een nieuwe tekst knoop toe aan deze element knoop
  5. Voeg een nieuwe element knoop toe aan het eerste <book> element

TIY

Voeg een element knoop met een tekst knoop toe aan alle <book> elementen:TIY

Maak een nieuwe CDATA Section knoop aan

De methode createCDATASection() maakt een nieuwe CDATA sectie knoop aan.

xmlDoc=loadXMLDoc("books.xml");
newCDATA=xmlDoc.createCDATASection("Special Offer & Book Sale");
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newCDATA);

Example explanation:

  1. By using loadXMLDoc() Put "books.xml" Load xmlDoc
  2. Create a new CDATA section node
  3. Append this new CDATA section node to the first <book> element

TIY

Traverse and add a CDATA section to all <book> elements:TIY

Create comment node

The createComment() method creates a new comment node.

xmlDoc=loadXMLDoc("books.xml");
newComment=xmlDoc.createComment("Revised March 2008");
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newComment);

Example explanation:

  1. By using loadXMLDoc() Put "books.xml" Load xmlDoc
  2. Create a new comment node
  3. Append this new comment node to the first <book> element

TIY

Loop through and add a comment node to all <book> elements:TIY