Aracılığıyla paylaş


Var Olan Düğümleri Bir Belgeden Diğerine Kopyalama

ImportNode yöntemi, bir düğümün veya tüm düğüm alt ağacının bir XmlDocument'dan diğerine kopyalandığı mekanizmadır. Çağrıdan döndürülen düğüm, kaynak belgedeki düğümün bir kopyasıdır; bunlara öznitelik değerleri, düğüm adı, düğüm türü ve ön ek, yerel ad alanı ve ad alanı Tekdüzen Kaynak Tanımlayıcısı (URI) gibi ad alanıyla ilgili tüm öznitelikler dahildir. Kaynak belge değiştirilmez. Düğümü içeri aktardıktan sonra da düğüm eklemek için kullanılan yöntemlerden birini kullanarak bunu ağaca eklemeniz gerekir.

Düğüm yeni belgesine eklendiğinde yeni belge düğümün sahibidir. Bunun nedeni, düğümler ayrı belge parçalarında oluşturulmuş olsa bile, her düğümün oluşturulduğunda sahip olan bir belgeye sahip olmasıdır. Bu, XML Belge Nesne Modeli'nin (DOM) bir gereksinimidir ve XmlDocument sınıfındaki fabrika oluşturma tasarımı tarafından zorlanır. Örneğin CreateElement, yeni düğümler oluşturmanın tek yoludur.

İçeri aktarılan düğümün düğüm türüne ve derin parametrenin 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 kopyalandıysa beklenen davranışı yansıtmayı dener ve XML için iki belgenin farklı belge türü tanımlarına (DTD) sahip olabileceğini hesaplar.

Aşağıdaki tabloda, içeri aktarılabilir her düğüm türüne özgü davranış açıklanmaktadır.

Düğüm Türü deep parameter is true deep parameter is false
XmlAttribute Specified, XmlAttribute üzerinde true olarak ayarlanır. Kaynak XmlAttribute'un 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. İçe aktarıldığında alt düğümlerini her zaman yanlarında taşıdıkları için derin parametresi XmlAttribute düğümlerine uygulanmaz.
Xmlcdatasection Verileri dahil olmak üzere düğümü kopyalar. Verileri dahil olmak üzere düğümü kopyalar.
XmlComment Verileri dahil olmak üzere düğümü kopyalar. Verileri dahil olmak üzere düğümü kopyalar.
Xmldocumentfragment 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ş bir XmlDocumentFragment oluşturulur.
XmlDocumentType Verileri dahil olmak üzere düğümü kopyalar.* Verileri dahil olmak üzere düğümü kopyalar.*
XmlElement Kaynak öğenin 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üğümleri yeni öğeye eklenir. Alt düğümler kopyalanmaz. Not: Varsayılan öznitelikler kopyalanmaz. İçeri aktarılan belge bu öğe adı için varsayılan öznitelikleri tanımlıyorsa, bunlar atanır.
XmlEntityReference Kaynak ve hedef belgelerde farklı tanımlanmış varlıklar olabileceğinden, bu yöntem yalnızca XmlEntityReference düğümünü kopyalar. 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 XmlEntityReference düğümünü kopyalar. Değiştirme metni dahil değildir. Hedef belgede tanımlı varlık varsa, değeri atanır.
XmlProcessingInstruction İçeri aktarılan düğümden hedef ve veri değerini kopyalar. İçeri aktarılan düğümden hedef ve veri değerini kopyalar.
Xmltext Verileri dahil olmak üzere düğümü kopyalar. Verileri dahil olmak üzere düğümü kopyalar.
XmlSignificantWhitespace Verileri dahil olmak üzere düğümü kopyalar. Verileri dahil olmak üzere düğümü kopyalar.
XmlWhitespace Verileri dahil olmak üzere düğümü kopyalar. Verileri dahil olmak üzere düğümü kopyalar.
XmlDeclaration İç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.

Not

DocumentType düğümleri içeri aktarılsa da, belgede yalnızca bir DocumentType bulunabilir. Bu nedenle, belge türünü içeri aktardıktan sonra, ağaç içine eklemeden önce belgede belge türü olmadığından emin olmanız gerekir. Düğümleri kaldırma hakkında bilgi için bkz . XML Belgesinden Düğümleri, İçeriği ve Değerleri Kaldırma.

Ayrıca bkz.