XML DOM Clone Nodes
Examples
The examples below use the XML file books.xml.
A function, loadXMLDoc(), in an external JavaScript is used to load the XML file.
Copy a node and append it to an existing node
This example uses cloneNode() to copy a node and append it to the root node of the XML document
Copy 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
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:
Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML
Everyday Italian
|
Try it yourself »
|
Example explained:
- Load "books.xml"
into xmlDoc using loadXMLDoc()
- Get the node to copy
- Copy the node into "newNode" using the cloneNode method
- Append the new node to the the root node of the XML document
- Output all titles for all books in the document

Need an easy way to get data into XML, or transform XML to another format?
MapForce lets you map XML data to/from any combination of XML, database, flat file, Excel 2007, XBRL, or Web services data.
Then it transforms data instantly or auto-generates royalty-free data integration code for recurrent conversions.
New features in Version 2010!
Download a free, fully functional 30-day trial to experience the following features:
- Easy-to-use, graphical data mapping interface
- Instant data transformation
- XSLT 1.0/2.0 and XQuery code generation
- Java, C#, and C++ code generation
- Advanced data processing functions
- Support for all major relational databases including SQL Server, IBM DB2, Oracle, and more
- Visual Studio & Eclipse integration
Download a fully-functional trial today!
|
|
|
|