XPath menggunakan ekspresi jalan untuk memilih node atau simpul-set dalam dokumen XML. simpul yang dipilih dengan mengikuti jalan atau langkah-langkah.
XML Contoh Dokumen
Kami akan menggunakan 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 Nodes
XPath menggunakan ekspresi jalan untuk memilih node dalam dokumen XML. simpul yang dipilih dengan mengikuti jalan atau langkah-langkah. Ekspresi jalan yang paling berguna tercantum di bawah ini:
Ekspresi | Deskripsi |
---|---|
nodename | Memilih semua node dengan nama " nodename " |
/ | Memilih dari simpul akar |
// | Memilih node dalam dokumen dari node saat ini yang sesuai dengan pilihan tersebut di mana pun mereka berada |
. | Memilih node saat |
.. | Memilih induk dari node saat ini |
@ | memilih atribut |
Dalam tabel di bawah kami telah mendaftarkan beberapa ungkapan jalan dan hasil dari ekspresi:
jalan Expression | Hasil |
---|---|
toko buku | Memilih semua node dengan nama "bookstore" |
/toko buku | Memilih toko buku akar elemen Note: Jika jalan dimulai dengan garis miring ( / ) selalu mewakili path absolut ke elemen! |
toko buku / buku | Memilih semua elemen buku yang adalah anak-anak dari toko buku |
//Book | Memilih semua elemen buku di mana pun mereka berada dalam dokumen |
toko buku // buku | Memilih semua elemen buku yang keturunan elemen toko buku, di mana pun mereka berada di bawah elemen toko buku |
// @ lang | Memilih semua atribut yang bernama lang |
predikat
Predikat yang digunakan untuk menemukan sebuah node tertentu atau node yang berisi nilai tertentu.
Predikat selalu tertanam dalam tanda kurung persegi.
Dalam tabel di bawah kami telah mendaftarkan beberapa ekspresi jalan dengan predikat dan hasil dari ekspresi:
jalan Expression | Hasil |
---|---|
/ Toko buku / buku [1] | Memilih elemen buku pertama yang adalah anak dari elemen toko buku. Note: Dalam IE 5,6,7,8,9 simpul pertama adalah [0], tetapi menurut W3C, itu adalah [1]. Untuk mengatasi masalah ini di IE, mengatur SelectionLanguage ke XPath: In JavaScript: xml . setProperty("SelectionLanguage","XPath") ; |
/ toko buku / buku [ last() ] | Memilih elemen buku terakhir yang merupakan anak dari elemen toko buku |
/ toko buku / buku [ last() -1] | Memilih terakhir tapi satu buku elemen yang merupakan anak dari elemen toko buku |
/ toko buku / buku [ position() <3] | Memilih dua elemen buku pertama yang adalah anak-anak dari elemen toko buku |
// judul [@lang] | Memilih semua elemen judul yang memiliki atribut bernama lang |
// judul [@ lang = 'en'] | Memilih semua elemen judul yang memiliki "lang" atribut dengan nilai "en" |
/bookstore/book[price>35.00] | Memilih semua elemen kitab unsur toko buku yang memiliki unsur harga dengan nilai lebih besar dari 35,00 |
/bookstore/book[price>35.00]/title | Memilih semua elemen judul elemen kitab unsur toko buku yang memiliki unsur harga dengan nilai lebih besar dari 35,00 |
Memilih diketahui Nodes
wildcard XPath dapat digunakan untuk memilih node XML yang tidak diketahui.
wildcard | Deskripsi |
---|---|
* | Cocok dengan node elemen |
@* | Cocok dengan atribut simpul |
node() | Cocok setiap node apapun |
Dalam tabel di bawah kami telah mendaftarkan beberapa ungkapan jalan dan hasil dari ekspresi:
jalan Expression | Hasil |
---|---|
/toko buku/* | Memilih semua node elemen anak dari elemen toko buku |
// * | Memilih semua elemen dalam dokumen |
//judul[@*] | Memilih semua elemen judul yang memiliki setidaknya satu atribut apapun |
Memilih Beberapa Paths
Dengan menggunakan | operator dalam ekspresi XPath Anda dapat memilih beberapa jalur.
Dalam tabel di bawah kami telah mendaftarkan beberapa ungkapan jalan dan hasil dari ekspresi:
jalan Expression | Hasil |
---|---|
// buku / judul | // buku / harga | Memilih semua judul DAN harga elemen dari semua elemen buku |
// judul | //harga | Memilih semua judul dan harga elemen dalam dokumen |
/ Toko buku / buku / judul | //harga | Memilih semua elemen judul elemen kitab elemen toko buku dan semua elemen harga dalam dokumen |