This documentation is archived and is not being maintained.
XmlDocument::CloneNode Method
Visual Studio 2010
Creates a duplicate of this node.
Assembly: System.Xml (in System.Xml.dll)
Parameters
- deep
- Type: System::Boolean
true to recursively clone the subtree under the specified node; false to clone only the node itself.
This method serves as a copy constructor for nodes. The cloned node has no parent (ParentNode returns nullptr).
If deep is true, the cloned node includes all the child nodes, otherwise only the XmlDocument node is cloned. See the XmlNode::CloneNode method to see how this method behaves on other node types.
The following example shows the difference between a deep and shallow clone.
#using <System.Xml.dll> using namespace System; using namespace System::IO; using namespace System::Xml; int main() { //Create the XmlDocument. XmlDocument^ doc = gcnew XmlDocument; doc->LoadXml( "<book genre='novel' ISBN='1-861001-57-5'><title>Pride And Prejudice</title></book>" ); //Create a deep clone. The cloned node //includes the child node. XmlDocument^ deep = dynamic_cast<XmlDocument^>(doc->CloneNode( true )); Console::WriteLine( deep->ChildNodes->Count ); //Create a shallow clone. The cloned node does not //include the child node. XmlDocument^ shallow = dynamic_cast<XmlDocument^>(doc->CloneNode( false )); Console::WriteLine( "{0}{1}", shallow->Name, shallow->OuterXml ); Console::WriteLine( shallow->ChildNodes->Count ); }
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Show: