Klonowanie węzłów XML DOM

Przykład

Poniższy przykład używa pliku XML books.xml.

Funkcja loadXMLDoc()Znajduje się w zewnętrznym JavaScriptie, służącym do ładowania pliku XML.

Kopiowanie węzła i dodanie go do istniejącego węzła
W tym przykładzie używamy cloneNode() do skopiowania węzła i dodania go do korzenia dokumentu XML.

Kopiowanie węzła

Metoda cloneNode() tworzy kopię określonego węzła.

Metoda cloneNode() ma jeden parametr (true lub false). Parametr ten wskazuje, czy kopiowany węzeł zawiera wszystkie atrybuty i podwęzły oryginalnego węzła.

Poniższy fragment kodu kopiuje pierwszy węzeł <book> i dodaje go do korzenia dokumentu:

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

Wynik:

Harry Potter
Everyday Italian
XQuery Kick Start
Learning XML
Harry Potter

Przykład wyjaśnienia:

  1. Używając loadXMLDoc() Dodaj "books.xmlWprowadź do xmlDoc
  2. Uzyskaj węzeł do skopiowania
  3. Skopiuj węzeł do "newNode" za pomocą metody cloneNode
  4. Dodaj nowy węzeł do korzenia dokumentu XML
  5. Wypisz wszystkie tytuły z dokumentu XML

TIY