Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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