Bagikan melalui


Membaca Data XML menggunakan XPathDocument dan XmlDocument

Ada dua cara untuk membaca dokumen XML di System.Xml.XPath namespace layanan. Salah satunya adalah membaca dokumen XML menggunakan kelas baca-saja XPathDocument dan yang lainnya adalah membaca dokumen XML menggunakan kelas yang dapat XmlDocument diedit di System.Xml namespace layanan.

Membaca Dokumen XML menggunakan Kelas XPathDocument

Kelas XPathDocument menyediakan representasi cepat bersifat baca-saja dalam memori dari dokumen XML menggunakan model data JalurX. Instans XPathDocument kelas dibuat menggunakan salah satu dari enam konstruktornya. Konstruktor ini memungkinkan Anda membaca dokumen XML menggunakan Streamobjek, TextReader, atau XmlReader, 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 XPathDocument

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 enam konstruktornya. Anda dapat membuat objek baru yang kosong XmlDocument dengan memanggil XmlDocument konstruktor kelas tanpa parameter. Setelah memanggil konstruktor, gunakan Load metode untuk memuat data XML ke objek baru XmlDocument dari Stream, TextReader, atau XmlReaderobjek, serta string jalur 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 objek dan XmlDocument seperti yang diperlihatkan 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 di XmlTextReader dokumentasi referensi kelas.

Membuat Objek XPathNavigator

Setelah Anda membaca dokumen XML ke dalam XPathDocument objek atau XmlDocument, Anda bisa membuat XPathNavigator objek untuk memilih, mengevaluasi, menavigasi, dan dalam beberapa kasus, mengedit data XML yang mendasar.

Baik kelas XPathDocument dan XmlDocument, selain XmlNode kelas, terapkan IXPathNavigable antarmuka System.Xml.XPath namespace layanan. 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 bersifat baca-saja saat XmlDocument kelas dapat diedit dan alhasil, XPathNavigator objek yang dibuat dari XPathDocument objek tidak dapat digunakan untuk mengedit dokumen XML sementara yang dibuat dari XmlDocument objek bisa. 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.

CanEdit Properti XPathNavigator kelas menentukan apakah XPathNavigator objek dapat mengedit data XML.

Tabel berikut ini menjelaskan nilai CanEdit properti untuk setiap kelas.

IXPathNavigable Implementasi CanEdit Nilai
XPathDocument false
XmlDocument true

Lihat juga