Bagikan melalui


Memuat Data dari Pembaca

Jika dokumen XML dimuat menggunakan metode Load dan parameter XmlReader, ada perbedaan perilaku yang terjadi jika dibandingkan dengan perilaku memuat data dari format lain. Jika pembaca dalam keadaan awal, Load menggunakan seluruh konten dari pembaca dan membangun Model Objek Dokumen (DOM) XML dari semua data di pembaca.

Jika pembaca sudah diposisikan pada node di suatu tempat dalam dokumen, dan pembaca kemudian diteruskan ke metode Load, Load mencoba membaca node saat ini dan semua saudaranya, hingga tag akhir yang menutup kedalaman saat ini ke dalam memori. Keberhasilan Load yang diupayakan bergantung pada node tempat pembaca berada saat pemuatan dicoba, karena Load memverifikasi bahwa XML dari pembaca terbentuk dengan baik. Jika XML tidak terbentuk dengan baik, Load menampilkan pengecualian. Misalnya, kumpulan node berikut berisi dua elemen tingkat akar, XML tidak terbentuk dengan baik, dan Load melemparkan pengecualian.

  • Node komentar, diikuti oleh node Element, diikuti oleh node Element, diikuti oleh node EndElement.

Kumpulan node berikut membuat DOM yang tidak lengkap, karena tidak ada elemen tingkat akar.

  • Node komentar diikuti oleh node ProcessingInstruction diikuti oleh node Komentar diikuti oleh node EndElement.

Ini tidak melemparkan pengecualian, dan data dimuat. Anda dapat menambahkan elemen akar ke bagian atas node ini dan membuat XML yang terbentuk dengan baik yang dapat disimpan tanpa kesalahan.

Jika pembaca diposisikan pada node leaf yang tidak valid untuk tingkat akar dokumen (misalnya, spasi putih atau simpul atribut), pembaca terus membaca sampai diposisikan pada node yang dapat digunakan untuk akar. Dokumen mulai dimuat pada saat ini.

Secara default, Load tidak memverifikasi apakah XML valid menggunakan definisi jenis dokumen (DTD) atau validasi skema. Ini hanya memverifikasi apakah XML terbentuk dengan baik. Agar validasi terjadi, Anda perlu membuat XmlReader menggunakan kelas XmlReaderSettings. Kelas XmlReader dapat menerapkan validasi menggunakan skema DTD atau Bahasa definisi skema (XSD). Properti ValidationType pada kelas XmlReaderSettings menentukan apakah instans XmlReader memberlakukan validasi. Untuk informasi lebih lanjut tentang memvalidasi data XML, lihat bagian Keterangan pada halaman referensi XmlReader.

Lihat juga