XML DOM - Knoten hinzufügen
- Vorherige Seite DOM-Knoten erstellen
- Nächste Seite DOM-Klonknoten
实例
下面的例子使用 XML 文件 books.xml。
函数 loadXMLDoc()位于外部 JavaScript 中,用于加载 XML 文件。
- Fügen Sie einen Knoten nach dem letzten Unterbaum hinzu
- Dieses Beispiel verwendet die Methode appendChild(), um einen Unterbaum zu einem vorhandenen Knoten hinzuzufügen.
- Fügen Sie einen Knoten vor einem bestimmten Unterbaum hinzu
- Dieses Beispiel verwendet die Methode insertBefore(), um einen Knoten vor einem bestimmten Unterbaum einzufügen.
- Fügen Sie eine neue Eigenschaft hinzu
- Dieses Beispiel verwendet die Methode setAttribute(), um eine neue Eigenschaft hinzuzufügen.
- Fügen Sie Daten zu einem Textknoten hinzu
- Dieses Beispiel verwendet insertData(), um Daten in einen bestehenden Textknoten einzufügen.
Hinzufügen eines Knotens - appendChild()
Die Methode appendChild() fügt einem vorhandenen Knoten einen Unterbaum hinzu.
Der neue Knoten wird nach jedem vorhandenen Unterbaum hinzugefügt (angehängt).
Anmerkung:Verwenden Sie insertBefore(), wenn die Position des Knotens wichtig ist.
Der folgende Codeabschnitt erstellt ein Element (<edition>) und fügt es nach dem letzten Unterbaum des ersten <book>-Elements hinzu:
xmlDoc=loadXMLDoc("books.xml"); newel=xmlDoc.createElement("edition"); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newel);
Beispiel erläutert:
- Durch die Verwendung loadXMLDoc() Fügt "books.xmlLade xmlDoc
- Erstellen Sie einen neuen Knoten <edition>.
- Fügen Sie diesen Knoten zum ersten <book>-Element hinzu
Schleife und einen Element hinzufügen zu allen <book>-Elementen:TIY
Einfügen eines Knotens - insertBefore()
Die Methode insertBefore() wird verwendet, um einen Knoten vor einem bestimmten Unterbaum einzufügen.
Diese Methode ist nützlich, wenn die Position des hinzugefügten Knotens wichtig ist.
xmlDoc=loadXMLDoc("books.xml"); newNode=xmlDoc.createElement("book"); x=xmlDoc.documentElement; y=xmlDoc.getElementsByTagName("book")[3]; x.insertBefore(newNode,y);
Beispiel erläutert:
- Durch die Verwendung loadXMLDoc() Fügt "books.xmlLade xmlDoc
- Erstellen Sie einen neuen Elementknoten <book>.
- Setzen Sie diesen Knoten vor dem letzten <book>-Element.
Wenn der zweite Parameter von insertBefore() null ist, wird der neue Knoten nach dem letzten vorhandenen Unterbaum hinzugefügt.
x.insertBefore(newNode,null) und x.appendChild(newNode) können einem x einen neuen Unterbaum hinzufügen.
Eigenschaft hinzufügen
Die Methode addAtribute() existiert nicht.
Fügt das Attribut existiert nicht, kann setAttribute() ein neues Attribut erstellen:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book'); x[0].setAttribute("edition","first");
Beispiel erläutert:
- Durch die Verwendung loadXMLDoc() Fügt "books.xmlLade xmlDoc
- Setzt den Wert des "edition"-Attributs des ersten <book>-Elements (erstellt) auf "first".
Anmerkung:Fügt das atрибут existiert, die Methode setAttribute() überschreibt den bestehenden Wert.
Textknoten mit Text hinzufügen - insertData()
insertData() Methode fügt Daten in bestehende Textknoten ein.
insertData() Methode hat zwei Parameter:
- offset - An welcher Stelle der Eintrag begonnen werden soll (ab 0 beginnend)
- string - Die einzufügende Zeichenfolge
Der folgende Codeabschnitt fügt "Easy" dem Textknoten des ersten <title>-Elements des geladenen XMLs hinzu:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.insertData(0,"Hallo ");
- Vorherige Seite DOM-Knoten erstellen
- Nächste Seite DOM-Klonknoten