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.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin