System.Xml.XmlDocument.CloneNode 方法

方法描述

创建此节点的一个副本。

语法定义(C# System.Xml.XmlDocument.CloneNode 方法 的用法)

public override XmlNode CloneNode(
	bool deep
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
deep System-Boolean 如果为 true,则递归地克隆指定节点下的子树;如果为 false,则只克隆该节点本身。
返回值 System.Xml.XmlNode 克隆的 XmlDocument 节点。

提示和注释

该方法用作节点的复制构造函数。 克隆节点没有父级(ParentNode 返回 null)。

如果 deep 为 true,则克隆的节点包括所有子节点,否则只克隆 XmlDocument 节点。 有关此方法在其他节点类型中的行为,请参见 XmlNode.CloneNode 方法。

System.Xml.XmlDocument.CloneNode 方法例子

下面的示例显示深层克隆与浅表克隆之间的差异。

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

public class Sample
{
  public static void Main()
  {
    //Create the XmlDocument.
    XmlDocument doc = new XmlDocument();
    doc.LoadXml("" +
                "Pride And Prejudice" +
                "");

    //Create a deep clone.  The cloned node 
    //includes the child node.
    XmlDocument deep = (XmlDocument) doc.CloneNode(true);
    Console.WriteLine(deep.ChildNodes.Count);

    //Create a shallow clone.  The cloned node does not 
    //include the child node.
    XmlDocument shallow = (XmlDocument) doc.CloneNode(false);
    Console.WriteLine(shallow.Name + shallow.OuterXml);
    Console.WriteLine(shallow.ChildNodes.Count);

  }
}

异常

异常 异常描述

命名空间

namespace: System.Xml

程序集: System.Xml(在 System.Xml.dll 中)

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。