次の方法で共有


XmlNode.Clone メソッド

定義

このノードの複製を作成します。

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

戻り値

XmlNode

クローンとして作成されたノード。

次の例では、XML ドキュメントのルート ノードを複製します。

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
   XmlDocument^ doc = gcnew 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 );
}
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 複製
属性 子ノードを含む属性ノードを複製します。
CData データ コンテンツを含む CData ノードを複製します。
コメント テキスト コンテンツを含むコメント ノードを複製します。
ドキュメント すべての子ノードを含むドキュメント ノードを複製します。
DocumentFragment すべての子ノードを含むドキュメント フラグメント ノードを複製します。
DocumentType ドキュメントの種類のノードを複製します。
要素 要素ノード、その属性、およびすべての子ノードを複製します。
エンティティ エンティティ ノードのクローンは作成できません。
EntityReference エンティティ参照ノードを複製します。 置換テキストは含まれません。
表記 表記ノードのクローンは作成できません。
ProcessingInstruction ターゲットとデータを含む処理命令ノードを複製します。
SignificantWhitespace データ値を含む、重要な空白ノードを複製します。
Text データ値を含むテキスト ノードを複製します。
空白 データ値を含む空白ノードを複製します。
XmlDeclaration データ値を含む XmlDeclaration ノードを複製します。
その他のすべてのノード タイプ。 これらのノード タイプは複製できません。

このメソッドは、ドキュメント オブジェクト モデル (DOM) に対する Microsoft の拡張機能です。

適用対象

こちらもご覧ください