System.Xml.XmlNode.CloneNode 方法
方法描述
当在派生类中被重写时,创建该节点的副本。
语法定义(C# System.Xml.XmlNode.CloneNode 方法 的用法)
public abstract XmlNode CloneNode( bool deep )
参数/返回值
参数值/返回值 | 参数类型/返回类型 | 参数描述/返回描述 |
---|---|---|
deep | System-Boolean | 如果为 true,则递归地克隆指定节点下的子树;如果为 false,则只克隆该节点本身。 |
返回值 | System.Xml.XmlNode | 克隆的节点。 |
提示和注释
该方法用作节点的复制构造函数。 重复的节点没有父级(ParentNode 返回 null)。
下表描述每个 XmlNodeType 的特定行为。
XmlNodeType
CloneNode(true)
CloneNode(false)
特性
克隆特性节点(包括子节点)。
克隆特性节点(包括子节点)。
CData
克隆 CData 节点(包括它的数据内容)。
克隆 CData 节点(包括它的数据内容)。
Comment
克隆注释节点(包括它的文本内容)。
克隆注释节点(包括它的文本内容)。
文档
克隆文档节点(包括任何子节点)。
克隆文档节点。
DocumentFragment
克隆文档片段节点(包括任何子节点)。
克隆文档片段节点。
DocumentType
克隆文档类型节点。
克隆文档类型节点。
元素
克隆元素节点、其特性和任何子节点。
克隆元素节点及其特性(包括任何默认特性)。
Entity
无法克隆 Entity 节点。
无法克隆 Entity 节点。
EntityReference
克隆实体引用节点。 不包括替换文本。
克隆实体引用节点。 不包括替换文本。
Notation
表示法节点无法克隆。
表示法节点无法克隆。
ProcessingInstruction
克隆处理指令节点(包括它的目标和数据)。
克隆处理指令节点(包括它的目标和数据)。
SignificantWhitespace
克隆重要的空白节点(包括它的数据值)。
克隆重要的空白节点(包括它的数据值)。
Text
克隆文本节点(包括它的数据值)。
克隆文本节点(包括它的数据值)。
Whitespace
克隆空白节点(包括它的数据值)。
克隆空白节点(包括它的数据值)。
XmlDeclaration
克隆 XmlDeclaration 节点(包括它的数据值)。
克隆 XmlDeclaration 节点(包括它的数据值)。
所有其他节点类型。
这些节点类型无法克隆。
这些节点类型无法克隆。
System.Xml.XmlNode.CloneNode 方法例子
下面的示例显示深层克隆与浅表克隆之间的差异。
using System; using System.IO; using System.Xml; public class Sample { public static void Main() { XmlDocument doc = new XmlDocument(); doc.LoadXml("" + " "); XmlNode root = doc.FirstChild; //Create a deep clone. The cloned node //includes the child nodes. XmlNode deep = root.CloneNode(true); Console.WriteLine(deep.OuterXml); //Create a shallow clone. The cloned node does not //include the child nodes, but does include its attribute. XmlNode shallow = root.CloneNode(false); Console.WriteLine(shallow.OuterXml); } }Pride And Prejudice " + "19.95 " + "
异常
异常 | 异常描述 |
---|---|
InvalidOperationException | 在不能被克隆的节点类型上调用该方法。 |
版本信息
.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 系统要求。