Bagikan melalui


Memilih Data XML Menggunakan XPathNavigator

Kelas XPathNavigator menyediakan sekumpulan metode yang digunakan untuk memilih sekumpulan simpul dalam objek XPathDocument atau XmlDocument menggunakan ekspresi JalurX. Setelah dipilih, Anda dapat melakukan iterasi di atas set simpul yang dipilih.

Metode Pemilihan XPathNavigator

Kelas XPathNavigator menyediakan sekumpulan metode yang digunakan untuk memilih sekumpulan simpul dalam objek XPathDocument atau XmlDocument menggunakan ekspresi JalurX. Kelas XPathNavigator juga menyediakan serangkaian metode yang dioptimalkan untuk memilih simpul leluhur, turunan, dan turunan lebih cepat daripada menggunakan ekspresi JalurX. Kumpulan simpul yang dipilih dikembalikan dalam objek XPathNodeIterator atau objek XPathNavigator dalam kasus satu simpul yang dipilih.

Memilih Simpul Menggunakan Ekspresi JalurX

Untuk memilih sekumpulan simpul menggunakan ekspresi JalurX, gunakan salah satu metode pilihan berikut.

Saat dipanggil, metode ini mengembalikan sekumpulan simpul yang dapat Anda navigasikan secara bebas menggunakan objek XPathNodeIterator atau objek XPathNavigator dalam kasus satu simpul yang dipilih.

Menavigasi dengan objek XPathNodeIterator tidak mempengaruhi posisi objek XPathNavigator yang digunakan untuk membuatnya. Objek XPathNavigator yang dikembalikan dari metode SelectSingleNode diposisikan pada simpul yang dikembalikan tunggal dan juga tidak mempengaruhi posisi objek XPathNavigator yang digunakan untuk membuatnya.

Contoh berikut menunjukkan pembuatan XPathNavigator objek dari XPathDocument objek, penggunaan Select metode untuk memilih simpul dalam objek XPathDocument, dan penggunaan objek XPathNodeIterator untuk melakukan iterasi pada simpul yang dipilih.

Dim document As XPathDocument = New XPathDocument("books.xml")  
Dim navigator As XPathNavigator = document.CreateNavigator()  
Dim nodes As XPathNodeIterator = navigator.Select("/bookstore/book")  
  
While nodes.MoveNext()  
    Console.WriteLine(nodes.Current.Name)  
End While  
XPathDocument document = new XPathDocument("books.xml");  
XPathNavigator navigator = document.CreateNavigator();  
XPathNodeIterator nodes = navigator.Select("/bookstore/book");  
  
while(nodes.MoveNext())  
{  
    Console.WriteLine(nodes.Current.Name);  
}  

Contoh menggunakan file books.xml sebagai input.

<?xml version="1.0" encoding="utf-8" ?> 
<bookstore>
    <book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">
        <title>The Autobiography of Benjamin Franklin</title>
        <author>
            <first-name>Benjamin</first-name>
            <last-name>Franklin</last-name>
        </author>
        <price>8.99</price>
    </book>
    <book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2">
        <title>The Confidence Man</title>
        <author>
            <first-name>Herman</first-name>
            <last-name>Melville</last-name>
        </author>
        <price>11.99</price>
    </book>
    <book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6">
        <title>The Gorgias</title>
        <author>
            <name>Plato</name>
        </author>
        <price>9.99</price>
    </book>
</bookstore>

Metode Pemilihan yang Dioptimalkan

Metode SelectChildren, SelectAncestors, dan SelectDescendants dari kelas XPathNavigator mewakili ekspresi JalurX yang umumnya digunakan untuk mengambil simpul turunan, turunan, dan leluhur. Metode ini dioptimalkan untuk performa dan lebih cepat daripada ekspresi JalurX yang sesuai. Metode SelectChildren, SelectAncestors, dan SelectDescendants memilih simpul leluhur, turunan, dan turunan berdasarkan nilai XPathNodeType atau nama lokal dan URI namespace dari simpul yang akan dipilih. Simpul leluhur, turunan, dan keturunan yang dipilih dikembalikan dalam objek XPathNodeIterator.

Lihat juga