XML DOM - Knoten klonen

Beispiel

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

Funktion loadXMLDoc()外部 JavaScript verwendet, um XML-Dateien zu laden.

Kopieren eines Knotens und Hinzufügen zu einem bestehenden Knoten
In diesem Beispiel wird cloneNode() verwendet, um einen Knoten zu kopieren und ihn dem Wurzelknoten des XML-Dokuments hinzuzufügen.

Kopieren eines Knotens

Die Methode cloneNode() erstellt eine Kopie des angegebenen Knotens.

Die Methode cloneNode() hat einen Parameter (true oder false). Dieser Parameter gibt an, ob der kopierte Knoten alle Attribute und Unter Knoten des Originalknotens enthält.

Der folgende Codeabschnitt kopiert den ersten <book>-Knoten und fügt ihn dem Wurzelknoten des Dokuments hinzu:

xmlDoc=loadXMLDoc("books.xml");
oldNode=xmlDoc.getElementsByTagName('book')[0];
newNode=oldNode.cloneNode(true);
xmlDoc.documentElement.appendChild(newNode);
//Alle Titel ausgeben
y=xmlDoc.getElementsByTagName("title");
for (i=0;i<y.length;i++)
{
document.write(y[i].childNodes[0].nodeValue);
document.write("<br />");
}

Ausgabe:

Harry Potter
Everyday Italian
XQuery Kick Start
Learning XML
Harry Potter

Beispiel erläutert:

  1. Durch die Verwendung von loadXMLDoc() Füge "books.xmlLade xmlDoc
  2. Erhalte den zu kopierenden Knoten
  3. Kopiere den Knoten in "newNode" durch die Verwendung der Methode cloneNode
  4. Füge einen neuen Knoten zum Wurzelknoten des XML-Dokuments hinzu
  5. Zeige alle 'title' im Dokument aus

TIY