XmlNode.Clone 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
會建立這個節點的複製品。
public:
virtual System::Xml::XmlNode ^ Clone();
public virtual System.Xml.XmlNode Clone();
abstract member Clone : unit -> System.Xml.XmlNode
override this.Clone : unit -> System.Xml.XmlNode
Public Overridable Function Clone () As XmlNode
傳回
複製節點。
範例
以下範例克隆了 XML 文件的根節點。
using System;
using System.IO;
using System.Xml;
public class Sample {
public static void Main() {
XmlDocument doc = new XmlDocument();
doc.LoadXml("<book ISBN='1-861001-57-5'>" +
"<title>Pride And Prejudice</title>" +
"<price>19.95</price>" +
"</book>");
XmlNode root = doc.FirstChild;
//Clone the root node. The cloned node includes
//child nodes. This is similar to calling CloneNode(true).
XmlNode clone = root.Clone();
Console.WriteLine(clone.OuterXml);
}
}
Option Explicit
Option Strict
Imports System.IO
Imports System.Xml
Public Class Sample
Public Shared Sub Main()
Dim doc As New XmlDocument()
doc.LoadXml("<book ISBN='1-861001-57-5'>" & _
"<title>Pride And Prejudice</title>" & _
"<price>19.95</price>" & _
"</book>")
Dim root As XmlNode = doc.FirstChild
'Clone the root node. The cloned node includes
'child nodes. This is similar to calling CloneNode(true).
Dim clone As XmlNode = root.Clone()
Console.WriteLine(clone.OuterXml)
End Sub
End Class
備註
克隆 並 XmlElement 複製所有屬性及其值,包括由 XML 處理器產生的屬性,以表示預設屬性。 此方法遞迴地複製節點及其下方的子樹。
Clone 等價於稱 CloneNode(true)。
下表描述了每個 XmlNodeType的具體行為。
| XmlNodeType | Clone |
|---|---|
| Attribute | 克隆屬性節點,包括子節點。 |
| CData | 複製 CData 節點及其資料內容。 |
| 註解 | 複製註解節點及其文字內容。 |
| 文件 | 複製文件節點,包括任何子節點。 |
| 文件片段 | 複製文件片段節點,包括任何子節點。 |
| 文件類型 | 複製文件類型節點。 |
| 元素 | 複製元素節點、其屬性以及所有子節點。 |
| Entity | 實體節點無法被複製。 |
| EntityReference | 複製實體參考節點。 不包含替代文字。 |
| 標記法 | 符號節點無法被複製。 |
| 處理指令 | 克隆處理指令節點,包括其目標與資料。 |
| 重要空白 | 克隆重要的空白節點,包括其資料值。 |
| 文字 | 複製文字節點,包括其資料值。 |
| 空白 | 克隆空白節點,包括其資料值。 |
| XML聲明 | 複製 XmlDeclaration 節點,包括其資料值。 |
| 所有其他節點類型。 | 這些節點類型無法被複製。 |
此方法是 Microsoft 對文件物件模型(DOM)的擴充。