XmlDocument.ImportNode(XmlNode, 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.
Bir düğümü başka bir belgeden geçerli belgeye aktarır.
public:
virtual System::Xml::XmlNode ^ ImportNode(System::Xml::XmlNode ^ node, bool deep);
public virtual System.Xml.XmlNode ImportNode(System.Xml.XmlNode node, bool deep);
abstract member ImportNode : System.Xml.XmlNode * bool -> System.Xml.XmlNode
override this.ImportNode : System.Xml.XmlNode * bool -> System.Xml.XmlNode
Public Overridable Function ImportNode (node As XmlNode, deep As Boolean) As XmlNode
Parametreler
- node
- XmlNode
İçeri aktarılan düğüm.
- deep
- Boolean
true derin bir kopya gerçekleştirmek için; aksi takdirde , false.
Döndürülenler
İçeri aktarılan XmlNode.
Özel durumlar
Düğüm türü içeri aktarılamaz.
Örnekler
Aşağıdaki örnek, ikinci bir XML belgesinden özgün XML belgesine bir kitap düğümünü içeri aktarır.
using System;
using System.IO;
using System.Xml;
public class Sample
{
public static void Main()
{
//Create the XmlDocument.
XmlDocument doc = new XmlDocument();
doc.LoadXml("<bookstore>" +
"<book genre='novel' ISBN='1-861001-57-5'>" +
"<title>Pride And Prejudice</title>" +
"</book>" +
"</bookstore>");
//Create another XmlDocument which holds a list of books.
XmlDocument doc2 = new XmlDocument();
doc2.Load("books.xml");
//Import the last book node from doc2 into the original document.
XmlNode newBook = doc.ImportNode(doc2.DocumentElement.LastChild, true);
doc.DocumentElement.AppendChild(newBook);
Console.WriteLine("Display the modified XML...");
doc.Save(Console.Out);
}
}
Option Explicit
Option Strict
Imports System.IO
Imports System.Xml
Public Class Sample
Public Shared Sub Main()
'Create the XmlDocument.
Dim doc As New XmlDocument()
doc.LoadXml("<bookstore>" & _
"<book genre='novel' ISBN='1-861001-57-5'>" & _
"<title>Pride And Prejudice</title>" & _
"</book>" & _
"</bookstore>")
'Create another XmlDocument which holds a list of books.
Dim doc2 As New XmlDocument()
doc2.Load("books.xml")
'Import the last book node from doc2 into the original document.
Dim newBook As XmlNode = doc.ImportNode(doc2.DocumentElement.LastChild, True)
doc.DocumentElement.AppendChild(newBook)
Console.WriteLine("Display the modified XML...")
doc.Save(Console.Out)
End Sub
End Class
Örnekte giriş books.xmlolarak dosyası kullanılır.
<?xml version='1.0'?>
<!-- This file represents a fragment of a book store inventory database -->
<bookstore>
<book genre="autobiography" publicationdate="1981" ISBN="1-861003-11-0">
<title>The Autobiography of Benjamin Franklin</title>
<author>
<first-name>Benjamin</first-name>
<last-name>Franklin</last-name>
</author>
<price>8.99</price>
</book>
<book genre="novel" publicationdate="1967" ISBN="0-201-63361-2">
<title>The Confidence Man</title>
<author>
<first-name>Herman</first-name>
<last-name>Melville</last-name>
</author>
<price>11.99</price>
</book>
<book genre="philosophy" publicationdate="1991" ISBN="1-861001-57-6">
<title>The Gorgias</title>
<author>
<name>Plato</name>
</author>
<price>9.99</price>
</book>
</bookstore>
Açıklamalar
Döndürülen düğümün üst öğesi yok. Kaynak düğüm değiştirilmez veya özgün belgeden kaldırılmaz; ImportNode kaynak düğümün bir kopyasını oluşturur.
Bir düğümü içeri aktarmak, içeri aktarılan belgenin sahip olduğu ve NodeType kaynak düğümle Name aynı olan bir XmlNode nesne oluşturur. Yeni nesnenin ad alanlarıyla (Prefix, LocalNameve NamespaceURI) ilgili öznitelikleri de vardır.
İçeri aktarılan düğümün düğüm türüne ve parametresinin deep değerine bağlı olarak, ek bilgiler uygun şekilde kopyalanır. Bu yöntem, XML veya HTML kaynağının bir parçası bir belgeden diğerine kopyalanırsa beklenen davranışı yansıtmaya çalışır (XML örneğinde iki belgenin farklı DTD'leri olabileceğini fark eder).
Aşağıdaki tabloda her XmlNodeTypebirine özgü davranış açıklanmaktadır.
| Xmlnodetype | ImportNode(true) | ImportNode(false) |
|---|---|---|
| Özellik |
Specified özelliği, oluşturulan XmlAttributeüzerinde olarak true ayarlanır. Kaynağın XmlAttribute alt öğeleri özyinelemeli olarak içeri aktarılır ve sonuçta elde edilen düğümler karşılık gelen alt ağacı oluşturmak için yeniden bir araya alınır. |
deep parametresi düğümler için XmlAttribute geçerli değildir; içeri aktarıldığında her zaman alt öğelerini yanlarında taşırlar. |
| CData | Verileri dahil olmak üzere düğümü kopyalar. | Verileri dahil olmak üzere düğümü kopyalar. |
| Comment | Verileri dahil olmak üzere düğümü kopyalar. | Verileri dahil olmak üzere düğümü kopyalar. |
| Documentfragment | Kaynak düğümün alt öğeleri özyinelemeli olarak içeri aktarılır ve sonuçta elde edilen düğümler karşılık gelen alt ağacı oluşturmak için yeniden bir araya alınır. | Boş XmlDocumentFragment bir oluşturulur. |
| BelgeTürü | Verileri dahil olmak üzere düğümü kopyalar.* | Verileri dahil olmak üzere düğümü kopyalar.* |
| Öğe | Kaynak öğenin ve belirtilen öznitelik düğümlerinin alt öğeleri özyinelemeli olarak içeri aktarılır ve sonuçta elde edilen düğümler karşılık gelen alt ağacı oluşturmak için yeniden bir araya alınır. Not: Varsayılan öznitelikler kopyalanmaz. İçeri aktarılan belge bu öğe adı için varsayılan öznitelikleri tanımlıyorsa, bunlar atanır. |
Kaynak öğenin belirtilen öznitelik düğümleri içeri aktarılır ve oluşturulan XmlAttribute düğümler oluşturulan XmlElementöğesine eklenir.Not: Varsayılan öznitelikler kopyalanmaz. İçeri aktarılan belge bu öğe adı için varsayılan öznitelikleri tanımlıyorsa, bunlar atanır. |
| EntityReference | Kaynak ve hedef belgelerde farklı tanımlanmış varlıklar olabileceğinden, bu yöntem yalnızca düğümü kopyalar XmlEntityReference . Değiştirme metni dahil değildir. Hedef belgede tanımlı varlık varsa, değeri atanır. | Kaynak ve hedef belgelerde farklı tanımlanmış varlıklar olabileceğinden, bu yöntem yalnızca düğümü kopyalar XmlEntityReference . Değiştirme metni dahil değildir. Hedef belgede tanımlı varlık varsa, değeri atanır. |
| İşlem Talimatı | İçeri aktarılan düğümden hedef ve veri değerini kopyalar. | İçeri aktarılan düğümden hedef ve veri değerini kopyalar. |
| Metin | Verileri dahil olmak üzere düğümü kopyalar. | Verileri dahil olmak üzere düğümü kopyalar. |
| Önemli Boşluk | Verileri dahil olmak üzere düğümü kopyalar. | Verileri dahil olmak üzere düğümü kopyalar. |
| Boşluk | Verileri dahil olmak üzere düğümü kopyalar. | Verileri dahil olmak üzere düğümü kopyalar. |
| XML Bildirimi | İçeri aktarılan düğümden hedef ve veri değerini kopyalar. | İçeri aktarılan düğümden hedef ve veri değerini kopyalar. |
| Diğer tüm düğüm türleri. | Bu düğüm türleri içeri aktarılamaz. | Bu düğüm türleri içeri aktarılamaz. |
*DocumentType düğümleri içeri aktarılsa da, belgenin yalnızca bir DocumentType'ı olabilir. Belgenin şu anda bir DocumentType düğümü varsa, yeni bir tane eklemeden önce kaldırılmalıdır.