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
)
public XmlNode CloneNode (
	boolean deep
)
public override function CloneNode (
	deep : boolean
) : XmlNode
Not applicable.

Parameters

deep

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

The cloned node.

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

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);

  }
}

import System.*;
import System.IO.*;
import System.Xml.*;

public class Sample
{
    public static void main(String[] args)
    {
        XmlDocument doc = new XmlDocument();
        doc.Load("2books.xml");

        // Create a new element.
        XmlElement elem = doc.CreateElement("misc");
        elem.set_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.get_DocumentElement().get_FirstChild().AppendChild(elem);
        doc.get_DocumentElement().get_LastChild().AppendChild(elem2);
    
        Console.WriteLine("Display the modified XML...");
        doc.Save(Console.get_Out());
    } //main 
} //Sample

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

XNA Framework

Supported in: 1.0

Community Additions

ADD
Show:
© 2014 Microsoft