XmlDocument.CloneNode Method (Boolean)
Creates a duplicate of this node.
Assembly: System.Xml (in System.Xml.dll)
This method serves as a copy constructor for nodes. The cloned node has no parent (ParentNode returns null).
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.
Option Explicit Option Strict Imports System Imports System.IO Imports System.Xml Public Class Sample Public Shared Sub Main() 'Create the XmlDocument. Dim doc As New 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. Dim deep As XmlDocument = CType(doc.CloneNode(True), XmlDocument) Console.WriteLine(deep.ChildNodes.Count) 'Create a shallow clone. The cloned node does not 'include the child node. Dim shallow As XmlDocument = CType(doc.CloneNode(False), XmlDocument) Console.WriteLine(shallow.Name + shallow.OuterXml) Console.WriteLine(shallow.ChildNodes.Count) End Sub 'Main End Class 'Sample
Available since 10
Available since 1.1