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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk