Bagikan melalui


Menyalin Node yang Sudah Ada dari Satu Dokumen ke Dokumen yang Lain

Metode ImportNode adalah mekanisme yang mana simpul atau seluruh subtree simpul disalin dari satu XmlDocument ke yang lain. Simpul yang dikembalikan dari panggilan adalah salinan simpul dari dokumen sumber, termasuk nilai atribut, nama simpul, jenis simpul, dan semua atribut terkait namespace layanan seperti awalan, nama lokal, dan Pengidentifikasi Sumber Daya Seragam namespace layanan. Dokumen sumber tidak diubah. Setelah mengimpor simpul, Anda masih harus menambahkannya ke pohon menggunakan salah satu metode yang digunakan untuk menyisipkan simpul.

Ketika simpul dilampirkan ke dokumen barunya, dokumen baru memiliki simpul. Alasannya adalah bahwa setiap simpul, saat dibuat, memiliki dokumen pemilik, bahkan jika simpul dibuat dalam fragmen dokumen terpisah. Ini adalah persyaratan Xml Document Object Model (DOM) dan diberlakukan oleh desain pembuatan pabrik pada kelas XmlDocument. Misalnya, CreateElement, adalah satu-satunya cara untuk membuat simpul baru.

Bergantung pada jenis simpul dari simpul yang diimpor dan nilai parameter dalam, informasi tambahan disalin sebagaimana mestinya. Metode ini mencoba untuk mencerminkan perilaku yang diharapkan jika fragmen sumber XML atau HTML disalin dari satu dokumen ke dokumen lainnya, memperkirakan fakta bahwa untuk XML, kedua dokumen dapat memiliki definisi jenis dokumen yang berbeda.

Tabel berikut ini menjelaskan perilaku tertentu untuk setiap jenis simpul yang dapat diimpor.

Jenis Node parameter mendalam bernilai true parameter mendalam bernilai false
XmlAttribute Specified diatur ke true pada XmlAttribute. Turunan xmlAttribute sumber diimpor secara rekursif dan simpul yang dihasilkan disusun ulang untuk membentuk subtree yang sesuai. Parameter mendalam tidak berlaku untuk simpul XmlAttribute, karena mereka selalu membawa simpul anak mereka saat diimpor.
XmlCDataSection Menyalin simpul, termasuk datanya. Menyalin simpul, termasuk datanya.
XmlComment Menyalin simpul, termasuk datanya. Menyalin simpul, termasuk datanya.
XmlDocumentFragment Turunan simpul sumber diimpor secara rekursif dan simpul yang dihasilkan disusun ulang untuk membentuk subtree yang sesuai. XmlDocumentFragment kosong dibuat.
XmlDocumentType Menyalin simpul, termasuk datanya.* Menyalin simpul, termasuk datanya.*
XmlElement Turunan simpul sumber diimpor secara rekursif dan simpul yang dihasilkan disusun ulang untuk membentuk subtree yang sesuai. Catatan: Atribut default tidak disalin. Jika dokumen yang diimpor ke dalam menentukan atribut default untuk nama elemen ini, dokumen tersebut ditetapkan. Simpul atribut tertentu dari elemen sumber diimpor, dan simpul XmlAttribute yang dihasilkan dilampirkan ke elemen baru. Simpul turunan tidak disalin. Catatan: Atribut default tidak disalin. Jika dokumen yang diimpor ke dalam menentukan atribut default untuk nama elemen ini, dokumen tersebut ditetapkan.
XmlEntityReference Karena dokumen sumber dan tujuan dapat memiliki entitas yang ditentukan secara berbeda, metode ini hanya menyalin simpul XmlEntityReference. Teks pengganti tidak disertakan. Jika dokumen tujuan memiliki entitas yang ditentukan, nilainya akan ditetapkan. Karena dokumen sumber dan tujuan dapat memiliki entitas yang ditentukan secara berbeda, metode ini hanya menyalin simpul XmlEntityReference. Teks pengganti tidak disertakan. Jika dokumen tujuan memiliki entitas yang ditentukan, nilainya akan ditetapkan.
XmlProcessingInstruction Menyalin target dan nilai data dari simpul yang diimpor. Menyalin target dan nilai data dari simpul yang diimpor.
XmlText Menyalin simpul, termasuk datanya. Menyalin simpul, termasuk datanya.
XmlSignificantWhitespace Menyalin simpul, termasuk datanya. Menyalin simpul, termasuk datanya.
XmlWhitespace Menyalin simpul, termasuk datanya. Menyalin simpul, termasuk datanya.
XmlDeclaration Menyalin target dan nilai data dari simpul yang diimpor. Menyalin target dan nilai data dari simpul yang diimpor.
Semua jenis node lainnya Jenis simpul ini tidak dapat diimpor. Jenis simpul ini tidak dapat diimpor.

Catatan

Meskipun simpul DocumentType dapat diimpor, dokumen hanya dapat memiliki satu DocumentType. Jadi, setelah Anda mengimpor jenis dokumen, sebelum menyisipkannya ke dalam pohon, Anda harus memastikan bahwa tidak ada jenis dokumen dalam dokumen. Untuk informasi tentang menghapus simpul, lihat Menghapus Simpul, Konten, dan Nilai dari Dokumen XML.

Lihat juga