XmlNode.CloneNode(Boolean) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Türetilmiş bir sınıfta geçersiz kılındığında düğümün bir yinelemesini oluşturur.
public:
abstract System::Xml::XmlNode ^ CloneNode(bool deep);
public abstract System.Xml.XmlNode CloneNode (bool deep);
abstract member CloneNode : bool -> System.Xml.XmlNode
Public MustOverride Function CloneNode (deep As Boolean) As XmlNode
Parametreler
- deep
- Boolean
true
alt ağacı belirtilen düğüm altında yinelemeli olarak kopyalamak için; false
yalnızca düğümün kendisini kopyalamak için.
Döndürülenler
Kopyalanan düğüm.
Özel durumlar
Kopyalanamayan bir düğüm türünde bu yöntemi çağırma.
Örnekler
Aşağıdaki örnekte derin ve sığ bir kopya arasındaki fark gösterilmektedir.
#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;
//Create a deep clone. The cloned node
//includes the child nodes.
XmlNode^ deep = root->CloneNode( true );
Console::WriteLine( deep->OuterXml );
//Create a shallow clone. The cloned node does not
//include the child nodes, but does include its attribute.
XmlNode^ shallow = root->CloneNode( false );
Console::WriteLine( shallow->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;
//Create a deep clone. The cloned node
//includes the child nodes.
XmlNode deep = root.CloneNode(true);
Console.WriteLine(deep.OuterXml);
//Create a shallow clone. The cloned node does not
//include the child nodes, but does include its attribute.
XmlNode shallow = root.CloneNode(false);
Console.WriteLine(shallow.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
'Create a deep clone. The cloned node
'includes the child nodes.
Dim deep As XmlNode = root.CloneNode(True)
Console.WriteLine(deep.OuterXml)
'Create a shallow clone. The cloned node does not
'include the child nodes, but does include its attribute.
Dim shallow As XmlNode = root.CloneNode(False)
Console.WriteLine(shallow.OuterXml)
End Sub
End Class
Açıklamalar
Bu yöntem düğümler için bir kopya oluşturucu görevi görür. Yinelenen düğümün üst öğesi yok (ParentNode döndürür null
).
Aşağıdaki tabloda her XmlNodeTypeöğesine özgü davranış açıklanmaktadır.
Xmlnodetype | CloneNode(true) | CloneNode(false) |
---|---|---|
Öznitelik | Alt düğümler de dahil olmak üzere öznitelik düğümünü kopyalar. | Alt düğümler de dahil olmak üzere öznitelik düğümünü kopyalar. |
Cdata | Veri içeriği dahil olmak üzere CData düğümünü kopyalar. | Veri içeriği dahil olmak üzere CData düğümünü kopyalar. |
Yorum | Metin içeriği de dahil olmak üzere açıklama düğümünü kopyalar. | Metin içeriği de dahil olmak üzere açıklama düğümünü kopyalar. |
Belge | Tüm alt düğümler dahil olmak üzere belge düğümünü kopyalar. | Belge düğümünü kopyalar. |
Documentfragment | Tüm alt düğümler dahil olmak üzere belge parçası düğümünü kopyalar. | Belge parçası düğümünü kopyalar. |
Documenttype | Belge türü düğümünü kopyalar. | Belge türü düğümünü kopyalar. |
Öğe | Öğe düğümünü, özniteliklerini ve alt düğümleri kopyalar. | Varsayılan öznitelikler de dahil olmak üzere öğe düğümünü ve özniteliklerini kopyalar. |
Varlık | Varlık düğümleri kopyalanamaz. | Varlık düğümleri kopyalanamaz. |
EntityReference | Varlık başvuru düğümünü kopyalar. Değiştirme metni dahil değildir. | Varlık başvuru düğümünü kopyalar. Değiştirme metni dahil değildir. |
Gösterim | Gösterimi düğümleri kopyalanamaz. | Gösterimi düğümleri kopyalanamaz. |
Processingınstruction | Hedef ve verileri dahil olmak üzere işleme yönerge düğümünü kopyalar. | Hedef ve verileri dahil olmak üzere işleme yönerge düğümünü kopyalar. |
SignificantWhitespace | Veri değeri de dahil olmak üzere önemli boşluk düğümünü kopyalar. | Veri değeri de dahil olmak üzere önemli boşluk düğümünü kopyalar. |
Metin | Veri değeri de dahil olmak üzere metin düğümünü kopyalar. | Veri değeri de dahil olmak üzere metin düğümünü kopyalar. |
Boşluk | Veri değeri de dahil olmak üzere boşluk düğümünü kopyalar. | Veri değeri de dahil olmak üzere boşluk düğümünü kopyalar. |
Xmldeclaration | Veri değeri de dahil olmak üzere XmlDeclaration düğümünü kopyalar. | Veri değeri de dahil olmak üzere XmlDeclaration düğümünü kopyalar. |
Diğer tüm düğüm türleri. | Bu düğüm türleri kopyalanamaz. | Bu düğüm türleri kopyalanamaz. |