XML DOM-skapande av noder

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:

  1. Genom att använda loadXMLDoc() Lägg till \books.xml"Ladda xmlDoc"
  2. Skapa en ny elementnod <edition>
  3. Lägg till denna elementnod till den första <book> elementen

TIY

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:

  1. Genom att använda loadXMLDoc() Lägg till \books.xml"Ladda xmlDoc"
  2. Skapa en ny egenskapsnod "edition"
  3. Lägg till denna nya egenskapsnod till den första <title> elementen

TIY

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:

  1. Genom att använda loadXMLDoc() Lägg till \books.xml"Ladda xmlDoc"
  2. Ställ in (skapa) egenskapen med värdet "first" för den första <book> elementen

TIY

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:

  1. Genom att använda loadXMLDoc() Lägg till \books.xml"Ladda xmlDoc"
  2. Skapa en ny elementnod <edition>
  3. Skapa en ny textnod, whose text is "first"
  4. Lägg till en ny textnod till denna elementnod
  5. Lägg till en ny elementnod till den första <book> elementen

TIY

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:

  1. Genom att använda loadXMLDoc() Lägg till \books.xml"Ladda xmlDoc"
  2. Skapa en ny CDATA section nod
  3. Lägg till den nya CDATA section noden till den första <book> elementet

TIY

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:

  1. Genom att använda loadXMLDoc() Lägg till \books.xml"Ladda xmlDoc"
  2. Skapa en ny kommentar nod
  3. Lägg till den nya kommentar noden till den första <book> elementet

TIY

Loopa och lägg till en comment nod till alla <book> element:TIY