XML DOM - Knoten erstellen

Beispiel

Das folgende Beispiel verwendet eine XML-Datei books.xml.

Funktion loadXMLDoc()Lokalisiert im externen JavaScript, um XML-Dateien zu laden.

Erstellung eines Element-Knotens
Dieses Beispiel verwendet createElement() zur Erstellung eines neuen Element-Knotens und fügt ihn mit appendChild() zu einem Knoten hinzu.
Erstellung eines Attribute-Knotens durch Verwendung von createAttribute
Dieses Beispiel verwendet createAttribute() zur Erstellung eines neuen Attribute-Knotens und fügt ihn mit setAttributeNode() zu einem Element hinzu.
Erstellung eines Attributes durch Verwendung von setAttribute
Dieses Beispiel verwendet setAttribute() zur Erstellung eines neuen Attributes für ein Element.
Erstellen Sie Textknoten
Dieses Beispiel verwendet createTextNode() zur Erstellung eines neuen Textknotens und fügt ihn mit appendChild() zu einem Element hinzu.
Erstellung eines CDATA Abschnitts
Dieses Beispiel verwendet createCDATAsection() zur Erstellung eines CDATA Abschnitts und fügt ihn mit appendChild() zu einem Element hinzu.
Kommentar-Knoten erstellen
Dieses Beispiel verwendet createComment() zur Erstellung eines comment Knotens und fügt ihn mit appendChild() zu einem Element hinzu.

Erstellen Sie neue Elementknoten

Die Methode createElement() erstellt neue Elementknoten:

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

Beispiel erklärt:

  1. Durch die Nutzung loadXMLDoc() Füge "books.xmlLade xmlDoc
  2. Erstellen Sie einen neuen Elementknoten <edition>
  3. Fügen Sie diesem ersten <book>-Element diesen Elementknoten hinzu

TIY

Durchsuchen und fügen Sie einem Elementknoten alle <book>-Elemente hinzu:TIY

Erstellen Sie neue Eigenschaftsknoten

createAttribute() wird verwendet, um neue Eigenschaftsknoten zu erstellen:

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

Beispiel erklärt:

  1. Durch die Nutzung loadXMLDoc() Füge "books.xmlLade xmlDoc
  2. Erstellen Sie einen neuen Eigenschaftsknoten "edition"
  3. Fügen Sie diesem ersten <title>-Element diesen neuen Eigenschaftsknoten hinzu

TIY

Durchsuchen Sie alle <title>-Elemente und fügen Sie eine neue Eigenschaftsknoten hinzu:TIY

Anmerkung: Wenn die Eigenschaft bereits existiert, wird sie durch die neue Eigenschaft ersetzt.

Durch Verwendung von setAttribute() Eigenschaften erstellen

Da setAttribute() eine neue Eigenschaft erstellen kann, wenn die Eigenschaft nicht existiert, können wir diese Methode verwenden, um neue Eigenschaften zu erstellen.

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

Beispiel erklärt:

  1. Durch die Nutzung loadXMLDoc() Füge "books.xmlLade xmlDoc
  2. Setzen Sie (oder erstellen Sie) für das erste <book>-Element die Eigenschaft mit dem Wert "first"

TIY

Durchsuchen Sie alle <title>-Elemente und fügen Sie eine neue Eigenschaft hinzu:TIY

Erstellen Sie Textknoten

Die Methode createTextNode() erstellt neue Textknoten:

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

Beispiel erklärt:

  1. Durch die Nutzung loadXMLDoc() Füge "books.xmlLade xmlDoc
  2. Erstellen Sie einen neuen Elementknoten <edition>
  3. Erstellen Sie einen neuen Textknoten, dessen Text "first" ist
  4. Fügen Sie diesem Elementknoten einen neuen Textknoten hinzu
  5. Fügen Sie dem ersten <book>-Element einen neuen Elementknoten hinzu

TIY

Fügen Sie einem Elementknoten mit einem Textknoten alle <book>-Elemente hinzu:TIY

Erstellen Sie einen CDATA Section Knoten

Die Methode createCDATASection() erstellt einen neuen CDATA Section Knoten.

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

Beispiel erklärt:

  1. Durch die Nutzung loadXMLDoc() Füge "books.xmlLade xmlDoc
  2. Erstelle eine neue CDATA-Sektion
  3. Füge diese neue CDATA-Sektion dem ersten <book>-Element hinzu

TIY

Durchsuche und füge eine CDATA-Sektion zu allen <book>-Elementen hinzu:TIY

Kommentar-Knoten erstellen

Das createComment()-Verfahren erstellt einen neuen Kommentar-Knoten.

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

Beispiel erklärt:

  1. Durch die Nutzung loadXMLDoc() Füge "books.xmlLade xmlDoc
  2. Erstelle einen neuen Kommentar-Knoten
  3. Füge diesen neuen Kommentar-Knoten dem ersten <book>-Element hinzu

TIY

Schließe eine comment-Knoten zu allen <book>-Elementen hinzufügen:TIY