XML DOM - Clone Nodes

The cloneNode() method creates a copy of a specified node

Clone a Node

The cloneNode() method creates a copy of a specified node.

The cloneNode() method has a parameter (true or false). This parameter indicates if the cloned node should include all attributes and child nodes of the original node.

The following code fragment copies the first <book> node and appends it to the root node of the document:

Example

oldNode = xmlDoc.getElementsByTagName('book')[0];
newNode = oldNode.cloneNode(true);
xmlDoc.documentElement.appendChild(newNode);

Result:

Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML
Everyday Italian

Example explained:

  • Suppose books.xml is loaded into xmlDoc
  • Get the node to copy (oldNode)
  • Clone the node into "newNode"
  • Append the new node to the root node of the XML document