Peraturan Gramma XPath
- 上一页 Noda XPath
- 下一页 XPath 轴
XPath menggunakan ekspresi jalur untuk memilih node atau kumpulan node di dokumen XML. Node dipilih melalui jalur (path) atau langkah (steps).
Dokumen Instan XML
Kami akan menggunakan dokumen XML ini dalam contoh di bawah.
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <title lang="eng">Harry Potter</title> <price>29.99</price> </book> <book> <title lang="eng">Learning XML</title> <price>39.95</price> </book> </bookstore>
Pilih node
XPath menggunakan ekspresi jalur untuk memilih node di dokumen XML. Node dipilih melalui jalur atau langkah (step).
Di bawah ini adalah beberapa ekspresi jalur yang paling berguna:
Ekspresi | Penerangan |
---|---|
nodename | Pilih semua anak node dari node ini. |
/ | Pilih dari node root. |
// | Dari node yang dipilih saat ini, pilih node di dokumen, tanpa mengira tempatnya. |
. | Pilih node saat ini. |
.. | Pilih node orangtua saat ini. |
@ | Pilih atribut. |
Contoh
Dalam tabel di bawah, kami telah menampilkan beberapa ekspresi jalur dan hasil ekspresi:
Ekspresi jalur | Hasil |
---|---|
bookstore | Pilih semua anak node elemen bookstore. |
/bookstore |
Pilih elemen root bookstore. Keterangan: Jika jalur dimulai dengan garis miring atas (/), jalur ini selalu mewakili jalur absolut ke elemen tertentu! |
bookstore/book | Pilih semua elemen book yang termasuk anak elemen bookstore. |
//book | Pilih semua elemen book anak, tanpa mengira tempatnya di dokumen. |
bookstore//book | Pilih semua elemen book yang terletak di bawah elemen bookstore, tanpa mengira tempatnya di bawah bookstore. |
//@lang | Pilih semua sifat yang dinamakan lang. |
Predikat (Predicates)
Predikat digunakan untuk mencari nod khusus atau nod yang mengandungi nilai yang ditentukan.
Predikat disematkan di dalam kurung buka dan kurung tutup.
Contoh
Dalam jadwal di bawah, kami menarik beberapa ekspresi jalur dengan predikat serta hasilnya:
Ekspresi jalur | Hasil |
---|---|
/bookstore/book[1] | Pilih elemen book yang termasuk anak elemen bookstore yang pertama. |
/bookstore/book[last()] | Pilih elemen book yang termasuk anak elemen bookstore yang terakhir. |
/bookstore/book[last()-1] | Pilih elemen book yang termasuk anak elemen bookstore yang kedua terakhir. |
/bookstore/book[position()<3] | Pilih dua elemen pertama yang termasuk anak elemen bookstore. |
//title[@lang] | Pilih semua elemen title yang mempunyai sifat lang. |
//title[@lang='eng'] | Pilih semua elemen title yang mempunyai sifat lang dengan nilai eng. |
/bookstore/book[price>35.00] | Pilih semua elemen book daripada elemen bookstore, di mana nilai elemen price melebihi 35.00. |
/bookstore/book[price>35.00]/title | Pilih semua elemen title daripada elemen book dalam elemen bookstore, di mana nilai elemen price melebihi 35.00. |
Pilih nod tak diketahui
Simbol XPath boleh digunakan untuk memilih elemen XML yang tak diketahui.
Simbol wajib | Penerangan |
---|---|
* | Padan kepada nod elemen anya. |
@* | Padan kepada nod sifat anya. |
node() | Padan kepada jenis nod anya. |
Contoh
Dalam jadwal di bawah, kami menarik beberapa ekspresi jalur serta hasilnya:
Ekspresi jalur | Hasil |
---|---|
/bookstore/* | Pilih semua anak elemen daripada elemen bookstore. |
//* | Pilih semua elemen dalam dokumen. |
//title[@*] | Pilih semua elemen title yang mempunyai sifat. |
Pilih beberapa jalur
Dengan menggunakan operator "|" dalam ekspresi jalur, anda boleh memilih beberapa jalur.
Contoh
Dalam jadwal di bawah, kami menarik beberapa ekspresi jalur serta hasilnya:
Ekspresi jalur | Hasil |
---|---|
//book/title | //book/price | Pilih semua title dan elemen price daripada elemen book. |
//title | //price | 选取文档中的所有 title 和 price 元素。 |
/bookstore/book/title | //price | 选取属于 bookstore 元素的 book 元素的所有 title 元素,以及文档中所有的 price 元素。 |
- 上一页 Noda XPath
- 下一页 XPath 轴