다음을 통해 공유


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 복제
attribute 자식 노드를 포함하여 특성 노드를 복제합니다.
CData 데이터 콘텐츠를 포함하여 CData 노드를 복제합니다.
의견 텍스트 콘텐츠를 포함하여 주석 노드를 복제합니다.
문서 자식 노드를 포함하여 문서 노드를 복제합니다.
DocumentFragment 자식 노드를 포함하여 문서 조각 노드를 복제합니다.
DocumentType 문서 형식 노드를 복제합니다.
요소 요소 노드, 해당 특성 및 모든 자식 노드를 복제합니다.
엔터티 entity 노드는 복제할 수 없습니다.
EntityReference 엔터티 참조 노드를 복제합니다. 대체 텍스트는 포함되지 않습니다.
Notation notation 노드는 복제할 수 없습니다.
ProcessingInstruction 대상 및 데이터를 포함하여 처리 명령 노드를 복제합니다.
SignificantWhitespace 데이터 값을 포함하여 중요한 공백 노드를 복제합니다.
텍스트 데이터 값을 포함하여 텍스트 노드를 복제합니다.
공백 데이터 값을 포함하여 공백 노드를 복제합니다.
XmlDeclaration 데이터 값을 포함하여 XmlDeclaration 노드를 복제합니다.
다른 모든 노드 형식입니다. 이러한 노드 형식은 복제할 수 없습니다.

이 메서드는 DOM(문서 개체 모델)에 대한 Microsoft 확장입니다.

적용 대상

추가 정보