Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Kelas Xml Document Object Model (DOM) adalah representasi dalam memori dari dokumen XML. DOM memungkinkan Anda membaca, memanipulasi, dan memodifikasi dokumen XML secara terprogram. Kelas XmlReader juga membaca XML; namun, layanan ini menyediakan akses baca-saja yang tidak di-cache, dan hanya untuk diteruskan. Ini berarti bahwa tidak ada kemampuan untuk mengedit nilai atribut atau konten elemen, atau kemampuan untuk menyisipkan dan menghapus simpul dengan XmlReader. Pengeditan adalah fungsi utama DOM. Ini adalah cara umum dan terstruktur bahwa data XML diwakili dalam memori, meskipun data XML aktual disimpan dengan cara linier ketika dalam file atau masuk dari objek lain. Berikut ini adalah data XML.
Masukan
<?xml version="1.0"?>
<books>
<book>
<author>Carson</author>
<price format="dollar">31.95</price>
<pubdate>05/01/2001</pubdate>
</book>
<pubinfo>
<publisher>MSPress</publisher>
<state>WA</state>
</pubinfo>
</books>
Ilustrasi berikut menunjukkan bagaimana memori disusun saat data XML ini dibaca ke dalam struktur DOM.
Struktur dokumen XML
Dalam struktur dokumen XML, setiap lingkaran dalam ilustrasi ini mewakili simpul, yang disebut objek XmlNode . Objek XmlNode adalah objek dasar di pohon DOM. Kelas XmlDocument , yang memperluas XmlNode, mendukung metode untuk melakukan operasi pada dokumen secara keseluruhan (misalnya, memuatnya ke dalam memori atau menyimpan XML ke file. Selain itu, XmlDocument menyediakan sarana untuk melihat dan memanipulasi simpul di seluruh dokumen XML. XmlNode dan XmlDocument memiliki peningkatan performa dan kegunaan serta memiliki metode dan properti untuk:
Akses dan ubah simpul khusus untuk DOM, seperti simpul elemen, node referensi entitas, dan sebagainya.
Ambil seluruh simpul, selain informasi yang dikandung simpul, seperti teks dalam simpul elemen.
Objek node memiliki serangkaian metode dan properti, serta karakteristik dasar dan terdefinisi dengan baik. Beberapa karakteristik ini adalah:
Simpul memiliki simpul induk tunggal, node induk menjadi simpul tepat di atasnya. Satu-satunya simpul yang tidak memiliki induk adalah akar Dokumen, karena merupakan simpul tingkat atas dan berisi dokumen itu sendiri dan fragmen dokumen.
Sebagian besar simpul dapat memiliki beberapa simpul anak, yaitu simpul tepat di bawahnya. Berikut ini adalah daftar jenis simpul yang dapat memiliki anak simpul.
Dokumen
DocumentFragment
Referensi Entitas
Elemen
Atribut
Node XmlDeclaration, Notation, Entity, CDATASection, Text, Comment, ProcessingInstruction, dan DocumentType tidak memiliki simpul anak.
Simpul yang berada pada tingkat yang sama, diwakili dalam diagram oleh buku dan simpul pubinfo , adalah saudara kandung.
Salah satu karakteristik DOM adalah caranya menangani atribut. Atribut bukanlah bagian dari hubungan hierarki antara induk, anak, dan saudara kandung. Atribut dianggap sebagai properti dari node elemen dan terdiri dari nama dan pasangan nilai. Misalnya, jika Anda memiliki data XML yang terdiri dari format="dollar
" yang terkait dengan elemen price
, kata format
adalah nama, dan nilai format
atributnya adalah dollar
. Untuk mengambil atribut format="dollar"
dari harga, Anda memanggil metode GetAttribute saat kursor berada pada node elemen price
. Untuk informasi selengkapnya, lihat Mengakses Atribut di DOM.
Saat XML dibaca ke dalam memori, simpul dibuat. Namun, tidak semua node memiliki jenis yang sama. Elemen dalam XML memiliki aturan dan sintaks yang berbeda dari instruksi pemrosesan. Oleh karena itu, seiring dengan pembacaan berbagai data, jenis node ditetapkan ke setiap simpul. Jenis node ini menentukan karakteristik dan fungsionalitas simpul.
Untuk informasi selengkapnya tentang jenis simpul yang dihasilkan dalam memori, lihat Jenis Simpul XML. Untuk informasi selengkapnya tentang objek yang dibuat di pohon simpul, lihat Memetakan Hierarki Objek ke Data XML.
Microsoft telah memperluas API yang tersedia di World Wide Web Consortium (W3C) DOM Level 1 dan Level 2 untuk mempermudah bekerja dengan dokumen XML. Meskipun sepenuhnya mendukung standar W3C, kelas, metode, dan properti tambahan menambahkan fungsionalitas di luar apa yang dapat dilakukan menggunakan W3C XML DOM. Kelas baru memungkinkan Anda mengakses data relasional, memberi Anda metode untuk disinkronkan dengan data ADO.NET, secara bersamaan mengekspos data sebagai XML. Untuk informasi selengkapnya, lihat Menyinkronkan Himpunan Data dengan XmlDataDocument.
DOM paling berguna untuk membaca data XML ke dalam memori untuk mengubah strukturnya, untuk menambahkan atau menghapus simpul, atau untuk memodifikasi data yang disimpan oleh simpul seperti dalam teks yang dimuat oleh elemen. Namun, kelas lain tersedia yang lebih cepat daripada DOM dalam skenario lain. Untuk akses streaming cepat yang tidak di-cache dan hanya diteruskan ke XML, gunakan XmlReader dan XmlWriter. Jika Anda memerlukan akses acak dengan model kursor dan XPath, gunakan kelas XPathNavigator .