XmlDocumentFragment.CloneNode(Boolean) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
이 노드의 복제본을 만듭니다.
public:
override System::Xml::XmlNode ^ CloneNode(bool deep);
public override System.Xml.XmlNode CloneNode (bool deep);
override this.CloneNode : bool -> System.Xml.XmlNode
Public Overrides Function CloneNode (deep As Boolean) As XmlNode
매개 변수
- deep
- Boolean
지정된 노드 아래의 하위 트리를 재귀적으로 복제하려면 true
이고, 노드 자체만 복제하려면 false
입니다.
반환
복제된 노드입니다.
예제
다음 예제에서는 심층 클론과 단순 클론 간의 차이를 보여 있습니다.
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
// Create the XmlDocument.
XmlDocument^ doc = gcnew XmlDocument;
doc->LoadXml( "<items/>" );
// Create a document fragment.
XmlDocumentFragment^ docFrag = doc->CreateDocumentFragment();
// Set the contents of the document fragment.
docFrag->InnerXml = "<item>widget</item>";
// Create a deep clone. The cloned node
// includes child nodes.
XmlNode^ deep = docFrag->CloneNode( true );
Console::WriteLine( "Name: {0}", deep->Name );
Console::WriteLine( "OuterXml: {0}", deep->OuterXml );
// Create a shallow clone. The cloned node does
// not include any child nodes.
XmlNode^ shallow = docFrag->CloneNode( false );
Console::WriteLine( "Name: {0}", shallow->Name );
Console::WriteLine( "OuterXml: {0}", shallow->OuterXml );
}
using System;
using System.IO;
using System.Xml;
public class Sample
{
public static void Main()
{
// Create the XmlDocument.
XmlDocument doc = new XmlDocument();
doc.LoadXml("<items/>");
// Create a document fragment.
XmlDocumentFragment docFrag = doc.CreateDocumentFragment();
// Set the contents of the document fragment.
docFrag.InnerXml ="<item>widget</item>";
// Create a deep clone. The cloned node
// includes child nodes.
XmlNode deep = docFrag.CloneNode(true);
Console.WriteLine("Name: " + deep.Name);
Console.WriteLine("OuterXml: " + deep.OuterXml);
// Create a shallow clone. The cloned node does
// not include any child nodes.
XmlNode shallow = docFrag.CloneNode(false);
Console.WriteLine("Name: " + shallow.Name);
Console.WriteLine("OuterXml: " + shallow.OuterXml);
}
}
Imports System.IO
Imports System.Xml
public class Sample
public shared sub Main()
' Create the XmlDocument.
Dim doc as XmlDocument = new XmlDocument()
doc.LoadXml("<items/>")
' Create a document fragment.
Dim docFrag as XmlDocumentFragment = doc.CreateDocumentFragment()
' Set the contents of the document fragment.
docFrag.InnerXml ="<item>widget</item>"
' Create a deep clone. The cloned node
' includes child nodes.
Dim deep as XmlNode = docFrag.CloneNode(true)
Console.WriteLine("Name: " + deep.Name)
Console.WriteLine("OuterXml: " + deep.OuterXml)
' Create a shallow clone. The cloned node does
' not include any child nodes.
Dim shallow as XmlNode = docFrag.CloneNode(false)
Console.WriteLine("Name: " + shallow.Name)
Console.WriteLine("OuterXml: " + shallow.OuterXml)
end sub
end class
설명
CloneNode
는 노드에 대한 복사 생성자로 사용됩니다. 이 메서드가 다른 노드 형식과 어떻게 동작하는지 확인하려면 다음을 참조하세요 XmlNode.CloneNode.
복제된 노드에 부모(ParentNode 반환 null
)가 없습니다.