Export (0) Print
Expand All

XmlElement.CloneNode Method

Creates a duplicate of this node.

Namespace:  System.Xml
Assembly:  System.Xml (in System.Xml.dll)

public override XmlNode CloneNode(
	bool deep
)

Parameters

deep
Type: System.Boolean

true to recursively clone the subtree under the specified node; false to clone only the node itself (and its attributes if the node is an XmlElement).

Return Value

Type: System.Xml.XmlNode
The cloned node.

This method serves as a copy constructor for nodes. The duplicate node has no parent (ParentNode returns null).

The following example creates a new element, clones it, and then adds both elements into an XML document.

using System;
using System.IO;
using System.Xml;

public class Sample
{
  public static void Main()
  {

    XmlDocument doc = new XmlDocument();
    doc.Load("2books.xml");

    // Create a new element.
    XmlElement elem = doc.CreateElement("misc");
    elem.InnerText = "hardcover";
    elem.SetAttribute("publisher", "WorldWide Publishing");

    // Clone the element so we can add one to each of the book nodes.
    XmlNode elem2 = elem.CloneNode(true);

    // Add the new elements.
    doc.DocumentElement.FirstChild.AppendChild(elem);
    doc.DocumentElement.LastChild.AppendChild(elem2);

    Console.WriteLine("Display the modified XML...");
    doc.Save(Console.Out);

  }
}

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0, 2.0, 1.0
Show:
© 2015 Microsoft