XML DOM Clone Node

Voorbeeld

Het volgende voorbeeld gebruikt een XML-bestand books.xml.

Functie loadXMLDoc()Geplaatst in extern JavaScript, gebruikt voor het laden van XML-bestanden.

Een knoop kopiëren en deze toevoegen aan een bestaande knoop
In dit voorbeeld wordt cloneNode() gebruikt om een knoop te kopiëren en deze toe te voegen aan de wortelknoop van het XML-document.

Knopen kopiëren

De cloneNode() methode maakt een kopie van de opgegeven knoop.

De cloneNode() methode heeft één parameter (true of false). Deze parameter geeft aan of de gekopieerde knoop alle eigenschappen en subknopen van de oorspronkelijke knoop bevat.

Het volgende codefragment kopieert de eerste <book> knoop en voegt deze toe aan de wortelknoop van het document:

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

Output:

Harry Potter
Everyday Italian
XQuery Kick Start
Learning XML
Harry Potter

Example explanation:

  1. By using loadXMLDoc() Put "books.xml"Load xmlDoc in"
  2. Get the node to be copied
  3. Copy the node to "newNode" by using the cloneNode method
  4. Append a new node to the root node of the XML document
  5. Output all titles in the document

TIY