cloneNode Method
Clones a new node.
JScript Syntax
var objXMLDOMNode = oXMLDOMNode.cloneNode(deep);
Parameters
deep
Boolean. A flag that indicates whether to recursively clone all nodes that are descendants of this node. If True, creates a clone of the complete tree below this node. If False, clones this node and its attributes only.
Return Value
Object. Returns the newly created clone node.
Example
The following script example clones a node, and then appends it as a child of the top-level node.
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.6.0");
var root;
var currNode;
var MyNewNode;
xmlDoc.async = false;
xmlDoc.loadXML("<root><book/><AUTHOR/></root>")
if (xmlDoc.parseError.errorCode != 0) {
var myErr = xmlDoc.parseError;
WScript.Echo("You have error " + myErr.reason);
} else {
root = xmlDoc.documentElement;
currNode = root.childNodes.item(1);
MyNewNode = currNode.cloneNode(true);
root.appendChild(MyNewNode);
WScript.Echo(xmlDoc.xml);
}
Output
<root><book/><AUTHOR/><AUTHOR/></root>
C/C++ Syntax
HRESULT cloneNode(
VARIANT_BOOL deep,
IXMLDOMNode **cloneRoot);
Parameters
deep
[in]
A flag that indicates whether to recursively clone all nodes that are descendants of this node. If True, creates a clone of the complete tree below this node. If False, clones this node and its attributes only.
cloneRoot
[out, retval]
A newly created clone node.
Return Values
S_OK
The value returned if successful.
E_INVALIDARG
The value returned if the cloneRoot
parameter is Null.
Remarks
The cloned node has the same property values as this node for the following properties: nodeName
property, nodeValue
property, nodeType
property, parentNode
property, ownerDocument
property, and, if it is an element, attributes
property. The value of the clone's childNodes
property depends on the setting of the deep
flag parameter.
Note
If the node is the DOMDocument
node, it is safer to clone the document using the save
method, as follows.
Versioning
Implemented in: MSXML 3.0 and MSXML 6.0
Applies to
IXMLDOMAttribute | IXMLDOMCDATASection | IXMLDOMCharacterData | IXMLDOMComment | IXMLDOMDocument-DOMDocument | IXMLDOMDocumentFragment | IXMLDOMDocumentType | IXMLDOMElement | IXMLDOMEntity | IXMLDOMEntityReference | IXMLDOMNode | IXMLDOMNotation | IXMLDOMProcessingInstruction | IXMLDOMText
See Also
nodeName Property1
nodeValue Property
nodeType Property1
parentNode Property1
ownerDocument Property
attributes Property1
childNodes Property