다음을 통해 공유


XmlNode.Clone 메서드

이 노드의 복제본을 만듭니다.

네임스페이스: System.Xml
어셈블리: System.Xml(system.xml.dll)

구문

‘선언
Public Overridable Function Clone As XmlNode
‘사용 방법
Dim instance As XmlNode
Dim returnValue As XmlNode

returnValue = instance.Clone
public virtual XmlNode Clone ()
public:
virtual XmlNode^ Clone ()
public XmlNode Clone ()
public function Clone () : XmlNode

반환 값

복제된 노드입니다.

설명

XmlElement를 복제하면 기본 특성을 나타내기 위해 XML 프로세서에서 만든 것을 포함하여 모든 특성과 특성의 값을 복사합니다. 이 메서드에서는 노드와 노드 아래 있는 하위 트리를 재귀적으로 복제합니다.

CloneCloneNode(true)를 호출하는 것과 같습니다.

다음 표에서는 각각의 XmlNodeType에 대한 특정 동작을 보여 줍니다.

XmlNodeType

Clone

특성

자식 노드를 포함해 Attribute 노드를 복제합니다.

CData

데이터 콘텐츠를 포함해 CData 노드를 복제합니다.

Comment

텍스트 콘텐츠를 포함해 Comment 노드를 복제합니다.

Document

자식 노드를 포함해 Document 노드를 복제합니다.

DocumentFragment

자식 노드를 포함해 DocumentFragment 노드를 복제합니다.

DocumentType

DocumentType 노드를 복제합니다.

Element

Element 노드, 해당 특성 및 자식 노드를 복제합니다.

Entity

Entity 노드는 복제할 수 없습니다.

EntityReference

EntityReference 노드를 복제합니다. 바꿀 텍스트는 포함되지 않습니다.

Notation

notation 노드는 복제할 수 없습니다.

ProcessingInstruction

대상과 데이터를 포함해 ProcessingInstruction 노드를 복제합니다.

SignificantWhitespace

데이터 값을 포함해 SignificantWhitespace 노드를 복제합니다.

Text

데이터 값을 포함해 Text 노드를 복제합니다.

Whitespace

데이터 값을 포함해 Whitespace 노드를 복제합니다.

XmlDeclaration

데이터 값을 포함해 XmlDeclaration 노드를 복제합니다.

다른 모든 노드 형식

이러한 노드 형식은 복제할 수 없습니다.

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

예제

다음 예제에서는 XML 문서의 Root 노드를 복제합니다.

Option Explicit
Option Strict

Imports System
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 'Main
End Class 'Sample
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);
  }
}
#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 );
}
import System.*;
import System.IO.*;
import System.Xml.*;

public class Sample
{
    public static void main(String[] args)
    {
        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.get_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.get_OuterXml());
    } //main
} //Sample

플랫폼

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

.NET Compact Framework

2.0, 1.0에서 지원

참고 항목

참조

XmlNode 클래스
XmlNode 멤버
System.Xml 네임스페이스
CloneNode