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.
Ada dua cara untuk membaca dokumen XML di System.Xml.XPath namespace. Salah satunya adalah membaca dokumen XML menggunakan kelas baca-saja XPathDocument, dan yang lainnya adalah membaca dokumen XML menggunakan kelas dapat diedit XmlDocument di namespace System.Xml.
Membaca Dokumen XML menggunakan Kelas XPathDocument
Kelas ini XPathDocument menyediakan representasi cepat, baca-saja, dalam memori dari dokumen XML menggunakan model data XPath. Instans XPathDocument kelas dibuat menggunakan salah satu dari enam konstruktornya. Konstruktor ini memungkinkan Anda membaca dokumen XML menggunakan Stream, , TextReaderatau XmlReader objek, serta string jalur ke file XML.
Contoh berikut mengilustrasikan menggunakan XPathDocument konstruktor kelas string untuk membaca dokumen XML.
Dim document As XPathDocument = New XPathDocument("books.xml")
XPathDocument document = new XPathDocument("books.xml");
Membaca Dokumen XML menggunakan Kelas XmlDocument
Kelas XmlDocument adalah representasi dalam memori yang dapat diedit dari dokumen XML yang mengimplementasikan W3C Document Object Model (DOM) Level 1 Core dan Core DOM Level 2. Instans XmlDocument kelas dibuat menggunakan salah satu dari tiga konstruktornya. Anda dapat membuat objek baru yang kosong XmlDocument dengan memanggil XmlDocument konstruktor kelas tanpa parameter. Setelah memanggil konstruktor, gunakan metode Load untuk memuat data XML ke dalam objek baru XmlDocument dari objek Stream, TextReader, atau XmlReader, serta jalur string ke file XML.
Contoh berikut mengilustrasikan menggunakan XmlDocument konstruktor kelas tanpa parameter dan Load metode untuk membaca dokumen XML.
Dim document As XmlDocument = New XmlDocument()
document.Load("books.xml")
XmlDocument document = new XmlDocument();
document.Load("books.xml");
Menentukan Pengodean Dokumen XML
Objek XmlReader dapat digunakan untuk membaca dokumen XML dan untuk membuat XPathDocument dan XmlDocument objek seperti yang ditunjukkan di bagian sebelumnya. Namun, XmlReader objek dapat membaca data yang tidak dikodekan dan akibatnya tidak memberikan informasi pengodean apa pun.
Kelas XmlTextReader mewarisi dari XmlReader kelas, menyediakan informasi pengodean menggunakan propertinya Encoding , dan dapat digunakan untuk membuat XPathDocument objek atau XmlDocument objek.
Untuk informasi selengkapnya tentang informasi pengodean yang disediakan oleh XmlTextReader kelas, lihat Encoding properti dalam XmlTextReader dokumentasi referensi kelas.
Membuat Objek XPathNavigator
Setelah Anda membaca dokumen XML ke dalam objek XPathDocument atau XmlDocument , Anda bisa membuat XPathNavigator objek untuk memilih, mengevaluasi, menavigasi, dan dalam beberapa kasus, edit data XML yang mendasar.
XPathDocument dan XmlDocument kelas, selain XmlNode kelas, menerapkan antarmuka IXPathNavigable dari namespace System.Xml.XPath. Akibatnya, ketiga kelas menyediakan CreateNavigator metode yang mengembalikan XPathNavigator objek.
Mengedit Dokumen XML menggunakan Kelas XPathNavigator
Selain memilih, mengevaluasi, dan menavigasi data XML, XPathNavigator kelas dapat digunakan untuk mengedit dokumen XML dalam beberapa kasus, berdasarkan objek yang membuatnya.
Kelas XPathDocument hanya dapat dibaca sedangkan kelas XmlDocument dapat diedit, sehingga objek XPathNavigator yang dibuat dari objek XPathDocument tidak dapat digunakan untuk mengedit dokumen XML, sementara objek yang dibuat dari objek XmlDocument dapat. Kelas XPathDocument harus digunakan untuk membaca dokumen XML saja. Dalam kasus di mana Anda perlu mengedit dokumen XML, atau memerlukan akses ke fungsionalitas tambahan yang disediakan oleh XmlDocument kelas, seperti penanganan peristiwa, XmlDocument kelas harus digunakan.
Properti CanEditXPathNavigator kelas menentukan apakah XPathNavigator objek dapat mengedit data XML.
Tabel berikut ini menjelaskan nilai CanEdit properti untuk setiap kelas.
| IXPathNavigable Pelaksanaan | Nilai CanEdit |
|---|---|
| XPathDocument | false |
| XmlDocument | true |