Neueste Web-Entwicklung Tutorials
 

XML DOM Hinzufügen von Knoten


Probieren Sie es selbst - Beispiele

Die folgenden Beispiele verwenden , um die XML - Datei books.xml .

Fügen Sie einen Knoten nach dem letzten Child - Knoten
In diesem Beispiel wird appendChild() einen untergeordneten Knoten zu einem vorhandenen Knoten hinzuzufügen.

Fügen Sie einen Knoten vor einem bestimmten untergeordneten Knoten
In diesem Beispiel wird insertBefore() einen Knoten vor einem bestimmten untergeordneten Knoten einzufügen.

Fügen Sie ein neues Attribut
Dieses Beispiel verwendet die setAttribute() Methode ein neues Attribut hinzuzufügen.

Hinzufügen von Daten zu einem Textknoten
In diesem Beispiel wird insertData() Daten in einen vorhandenen Textknoten einzufügen.

×

Kopfzeile


Fügen Sie einen Knoten - appendChild()

Die appendChild() Methode fügt einen untergeordneten Knoten zu einem vorhandenen Knoten.

Der neue Knoten hinzugefügt wird (appended) nach eventuell vorhandenen untergeordneten Knoten.

Note: Verwenden insertBefore() , wenn die Position des Knotens , von Bedeutung ist.

Dieses Codefragment erzeugt ein Element (<edition>) , und fügt sie nach dem letzten Kind des ersten <book> Element:

Beispiel

newEle = xmlDoc.createElement("edition");

xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
Versuch es selber "

Erklärt Beispiel:

  1. Nehmen wir an " books.xml " geladen in xmlDoc
  2. Erstellen Sie einen neuen Knoten <edition>
  3. Fügen Sie den Knoten mit dem ersten <book> Element

Dieses Codefragment macht dasselbe wie oben, aber das neue Element wird mit einem Wert addiert:

Beispiel

newEle = xmlDoc.createElement("edition");
newText=xmlDoc.createTextNode("first");
newEle.appendChild(newText);

xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
Versuch es selber "

Erklärt Beispiel:

  1. Nehmen wir an " books.xml " geladen in xmlDoc
  2. Erstellen Sie einen neuen Knoten <edition>
  3. Erstellen Sie einen neuen Textknoten "first"
  4. Fügen Sie den Textknoten an die <edition> Knoten
  5. Fügen Sie den <addition> Knoten mit dem <book> Element

Legen Sie eine Node - insertBefore()

Die insertBefore() Methode fügt einen Knoten vor einem bestimmten untergeordneten Knoten.

Dieses Verfahren ist nützlich, wenn die Position des hinzugefügten Knotens ist wichtig:

Beispiel

newNode = xmlDoc.createElement("book");

x = xmlDoc.documentElement;
y = xmlDoc.getElementsByTagName("book")[3];

x.insertBefore(newNode,y);
Versuch es selber "

Erklärt Beispiel:

  1. Nehmen wir an " books.xml " geladen in xmlDoc
  2. Erstellen Sie ein neues Element Knoten <book>
  3. Setzen Sie den neuen Knoten vor dem letzten <book> Element Knoten

Wenn der zweite Parameter von insertBefore() null ist, wird der neue Knoten nach dem letzten vorhandenen untergeordneten Knoten hinzugefügt werden.

x.insertBefore(newNode,null) und x.appendChild(newNode) wird sowohl ein neues Kind - Knoten x anhängen.


Hinzufügen eines neuen Attributs

Die setAttribute() Methode setzt den Wert eines Attributs.

Beispiel

xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","first");
Versuch es selber "

Erklärt Beispiel:

  1. Nehmen wir an " books.xml " wurde in xmlDoc geladen
  2. Legen Sie den Wert des Attributs "edition" auf "first" für das erste <book> Element

Es gibt keine Methode namens add Attribute()
Die setAttribute() wird ein neues Attribut zu erstellen , wenn das Attribut nicht existiert.

Note: Wenn das Attribut bereits vorhanden ist , die setAttribute() Methode , um den vorhandenen Wert überschreibt.


Hinzufügen von Text zu einem Textknoten - insertData()

Die insertData() Methode fügt Daten in eine bestehende Textknoten.

Die insertData() Methode hat zwei Parameter:

  • Offset - Wo Einfügen von Zeichen zu beginnen (starts at zero)
  • String - Der String einfügen

Das folgende Codefragment fügt "Easy" an den Textknoten des ersten <title> Element der geladenen XML:

Beispiel

xmlDoc.getElementsByTagName("title")[0].childNodes[0].insertData(0,"Easy ");
Versuch es selber "