XML-DOM -Knoten hinzufügen
Probieren Sie es selbst aus - Beispiele
Die folgenden Beispiele verwenden die XML-Datei books.xml .
In diesem Beispiel wird appendChild() verwendet, um einem vorhandenen Knoten einen untergeordneten Knoten hinzuzufügen.
In diesem Beispiel wird insertBefore() verwendet, um einen Knoten vor einem angegebenen untergeordneten Knoten einzufügen.
hinzufügen In diesem Beispiel wird die Methode setAttribute() verwendet, um ein neues Attribut hinzuzufügen.
Textknoten Dieses Beispiel verwendet insertData(), um Daten in einen vorhandenen Textknoten einzufügen.
Knoten hinzufügen - appendChild()
Die Methode appendChild() fügt einem vorhandenen Knoten einen untergeordneten Knoten hinzu.
Der neue Knoten wird nach allen vorhandenen untergeordneten Knoten hinzugefügt (angehängt).
Hinweis: Verwenden Sie insertBefore(), wenn die Position des Knotens wichtig ist.
Dieses Codefragment erstellt ein Element (<edition>) und fügt es nach dem letzten untergeordneten Element des ersten <book>-Elements hinzu:
Beispiel
newEle = xmlDoc.createElement("edition");
xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
Beispiel erklärt:
- Angenommen, " books.xml " wird in xmlDoc geladen
- Erstellen Sie einen neuen Knoten <edition>
- Hängen Sie den Knoten an das erste <book>-Element an
Dieses Codefragment macht dasselbe wie oben, aber das neue Element wird mit einem Wert hinzugefügt:
Beispiel
newEle = xmlDoc.createElement("edition");
newText=xmlDoc.createTextNode("first");
newEle.appendChild(newText);
xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
Beispiel erklärt:
- Angenommen, " books.xml " wird in xmlDoc geladen
- Erstellen Sie einen neuen Knoten <edition>
- Erstellen Sie "zuerst" einen neuen Textknoten
- Hängen Sie den Textknoten an den <edition>-Knoten an
- Hängen Sie den <addition>-Knoten an das <book>-Element an
Knoten einfügen - insertBefore()
Die Methode insertBefore() fügt einen Knoten vor einem angegebenen untergeordneten Knoten ein.
Diese Methode ist nützlich, wenn die Position des hinzugefügten Knotens wichtig ist:
Beispiel
newNode = xmlDoc.createElement("book");
x = xmlDoc.documentElement;
y = xmlDoc.getElementsByTagName("book")[3];
x.insertBefore(newNode,y);
Beispiel erklärt:
- Angenommen, " books.xml " wird in xmlDoc geladen
- Erstellen Sie einen neuen Elementknoten <Buch>
- Fügen Sie den neuen Knoten vor dem letzten <book>-Elementknoten ein
Wenn der zweite Parameter von insertBefore() null ist, wird der neue Knoten nach dem letzten vorhandenen untergeordneten Knoten hinzugefügt.
x.insertBefore(newNode,null) und x.appendChild(newNode) hängen beide einen neuen untergeordneten Knoten an x an.
Fügen Sie ein neues Attribut hinzu
Die Methode setAttribute() setzt den Wert eines Attributs.
Beispiel
xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","first");
Beispiel erklärt:
- Angenommen, " books.xml " wurde in xmlDoc geladen
- Setzen Sie für das erste <book>-Element den Wert des Attributs „edition“ auf „first“.
Es gibt keine Methode namens add Attribute().
setAttribute() erstellt ein neues Attribut, wenn das Attribut nicht existiert.
Hinweis: Wenn das Attribut bereits vorhanden ist, überschreibt die Methode setAttribute() den vorhandenen Wert.
Text zu einem Textknoten hinzufügen - insertData()
Die Methode insertData() fügt Daten in einen vorhandenen Textknoten ein.
Die Methode insertData() hat zwei Parameter:
- offset - Wo soll mit dem Einfügen von Zeichen begonnen werden (beginnt bei Null)
- string - Die einzufügende Zeichenfolge
Das folgende Codefragment fügt "Easy" zum Textknoten des ersten <title>-Elements des geladenen XML hinzu:
Beispiel
xmlDoc.getElementsByTagName("title")[0].childNodes[0].insertData(0,"Easy ");