XPath menggunakan path exspresion untuk memilih node atau kumpulan node dalam dokumen XML. Node dipilih dengan mengikuti jalur atau langkah.
Section Artikel
Contoh Dokumen XML
Kita akan gunakan dokumen XML berikut dalam contoh di bawah ini.
<?xml version="1.0" encoding="UTF-8"?> <bookstore> <book> <title lang="en">Harry Potter</title> <price>29.99</price> </book> <book> <title lang="en">Learning XML</title> <price>39.95</price> </book> </bookstore>
Memilih Node
XPath menggunakan path exspression untuk memilih node dalam dokumen XML. Node dipilih dengan mengikuti jalur atau langkah. Berikut ini ada beberapa path expression :
Expression | Deskripsi |
---|---|
nodename | Memilih semua node dengan nama “nodename” |
/ | Memilih dari root node |
// | Memilih node dalam dokumen dari node saat ini yang cocok dengan pilihan di mana pun mereka berada |
. | Memilih current node |
.. | Memilih parent node dari current node |
@ | Memilih atribut |
Pada tabel di bawah ini ada beberapa path ekspresi dan hasil ekspresi:
Path Expression | Hasil |
---|---|
bookstore | Memilih semua node dengan nama “bookstore” |
/bookstore | Memilih root elemen bookstore Catatan: Jika jalur dimulai dengan garis miring (/), jalur ini selalu mewakili jalur absolut ke sebuah elemen! |
bookstore/book | Memilih semua elemen book yang merupakan anak-anak bookstore |
//book | Memilih semua elemen book di mana pun mereka berada dalam dokumen |
bookstore//book | Memilih semua elemen book yang merupakan descendants dari elemen bookstore, di mana pun elemen tersebut berada di bawah elemen bookstore |
//@lang | Memilih semua atribut yang diberi nama lang |
Predikat
Predikat digunakan untuk mencari node tertentu atau node yang mengandung nilai tertentu.
Predikat selalu disematkan dalam tanda kurung siku.
Dalam tabel di bawah ini ada beberapa path expression dengan predikat dan hasil ekspresi:
Path Expression | Hasil |
---|---|
/bookstore/book[1] | Memilih elemen book pertama yang merupakan children dari elemen bookstore. Catatan: Di IE 5,6,7,8,9 node pertama adalah [0], tetapi menurut W3C,adalah [1]. Untuk mengatasi masalah ini di IE, setel SelectionLanguage ke XPath: Dalam JavaScript: xml.setProperty (“SelectionLanguage”, “XPath”); |
/bookstore/book[last()] | Memilih elemen book terakhir yang merupakan children dari elemen bookstore |
/bookstore/book[last()-1] | Memilih elemen book terakhir tapi satu yang merupakan children dari elemen bookstore |
/bookstore/book[position()<3] | Memilih dua elemen book pertama yang merupakan descendants(turunan) dari elemen bookstore |
//title[@lang] | Memilih semua elemen title yang memiliki atribut bernama lang |
//title[@lang=’en’] | Memilih semua elemen title yang memiliki atribut “lang” dengan nilai “en” |
/bookstore/book[price>35.00] | Memilih semua elemen book dari elemen bookstore yang memiliki elemen price dengan nilai lebih dari 35.00 |
/bookstore/book[price>35.00]/title | Memilih semua elemen title elemen book dari elemen bookstore yang memiliki elemen price dengan nilai lebih dari 35,00 |
Memilih Node Tidak Dikenal
Kartu bebas XPath dapat digunakan untuk memilih node XML yang tidak dikenal.
Wildcard | Deskripsi |
---|---|
* | Cocok dengan node elemen apa pun |
@* | Cocok dengan semua node atribut |
node() | Cocok dengan semua jenis node |
Pada tabel di bawah ini ada beberapa path exspression dan hasil ekspresi:
Path Expression | Hasil |
---|---|
/bookstore/* | Memilih semua child elemen node dari elemen bookstore |
//* | Memilih semua elemen dalam dokumen |
//title[@*] | Memilih semua elemen titile yang memiliki setidaknya satu atribut apa pun |
Memilih Beberapa Jalur(Paths)
Dengan menggunakan | operator dalam ekspresi XPath kita bisa memilih beberapa jalur.
Pada tabel di bawah ini ada beberapa path expression dan hasil ekspresi:
Path Expression | Hasil |
---|---|
//book/title | //book/price | Memilih semua title DAN elemen price dari semua elemen book |
//title | //price | Memilih semua title DAN elemen price dalam dokumen |
/bookstore/book/title | //price | Memilih semua elemen title elemen book dari elemen bookstore DAN semua elemen price dalam dokumen |