XPath Syntax
- 上一頁 XPath Nodes
- 下一頁 XPath 軸
Rekomendasyon ng kurso:
XPath ay gumagamit ng ekspresyong daan upang mamili ng mga node o mga kumpol ng node sa XML dokumento. Ang mga node ay hinahalang sa pamamagitan ng paglalakad ng daan (path) o hakbang (steps).
Mga halimbawa ng XML
Ginagamit namin ito sa mga halimbawa sa ilalim. <?xml version="1.0" encoding="ISO-8859-1"?> <price>29.99</price> <bookstore> <title lang="eng">Harry Potter</title> <price>39.95</price> <price>29.99</price> <book> <title lang="eng">Learning XML</title> <price>39.95</price> </book>
</bookstore>
Mamili ng mga node
Ito ay nangangahulugan na ang XPath ay gumagamit ng ekspresyong daan upang mamili ng mga node sa XML dokumento. Ang mga node ay hinahalang sa pamamagitan ng paglalakad ng daan o hakbang (steps).
Ekspresyong daan | Paglalarawan |
---|---|
nodename | Piliin ang lahat ng mga anak na node ng pangkat na iyon. |
/ | Mamili mula sa pangunahing node. |
// | Mamili ng mga node sa dokumento na nakakasangguni sa kasalukuyang na hinahalang node, kahit sa anumang posisyon sila. |
. | Piliin ang kasalukuyang node. |
.. | Piliin ang magulang na node ng kasalukuyang node. |
@ | Piliin ang attribute. |
Mga halimbawa
Sa ilalim ng talahanayan, nakuha namin ang ilang mga ekspresyong daan at ang resulta ng mga ekspresyong iyon:
表达式 na path | resulta |
---|---|
bookstore | Piliin ang lahat ng mga anak na node ng elemento na bookstore. |
/bookstore |
Piliin ang pangunahing elemento na bookstore. Paliwanag: Kung ang daan ay nagsisimula sa tunay na tuldok ( / ), ang daan na iyon ay laging nagrerepresenta ng patuloy na daan sa isang elemento! |
bookstore/book | Piliin ang lahat ng book na kasama sa mga anak ng bookstore. |
//book | Piliin ang lahat ng mga anak na book, kahit sa anumang posisyon nila sa dokumento. |
bookstore//book | Piliin ang lahat ng sukat na book na kasama sa mga anghang ng bookstore, kahit na sila ay nasa anumang posisyon sa ilalim ng bookstore. |
//@lang | Piliin ang lahat ng attribute na pangalan na lang. |
Predicate (Predicates)
Ang predicate ay ginagamit upang hanapin ang anumang partikular na node o ang node na may anumang natukoy na halaga.
Ang predicate na nakalakip sa mga kuwadrado ng panig.
Mga halimbawa
Sa ilalim ng talahanapan, ipinapakita namin ang ilang mga expression ng path na may predicate at ang resulta nito:
表达式 na path | resulta |
---|---|
/bookstore/book[1] | Piliin ang unang book na anak ng bookstore element. |
/bookstore/book[last()] | Piliin ang huling book na anak ng bookstore element. |
/bookstore/book[last()-1] | Piliin ang ikalawang huling book na anak ng bookstore element. |
/bookstore/book[position()<3] | Piliin ang dalawang unang book na anak ng bookstore element. |
//title[@lang] | Piliin ang lahat ng title na may attribute na pangalan na lang. |
//title[@lang='eng'] | Piliin ang lahat ng title na may value na eng sa attribute na lang. |
/bookstore/book[price>35.00] | Piliin ang lahat ng book na nasa bookstore element at ang value ng price ay mas malaki sa 35.00. |
/bookstore/book[price>35.00]/title | Piliin ang lahat ng title na nasa bookstore element at ang value ng price ay mas malaki sa 35.00. |
Piliin ang hindi kilalang node
Ang XPath wildcard ay maaaring gamitin upang piliin ang hindi kilalang XML na elemento.
Wildcard | Paglalarawan |
---|---|
* | Match ang anumang element na node. |
@* | Match ang anumang attribute na node. |
node() | Match ang anumang uri ng node. |
Mga halimbawa
Sa ilalim ng talahanapan, ipinapakita namin ang ilang mga expression ng path at ang resulta nito:
表达式 na path | resulta |
---|---|
/bookstore/* | Piliin ang lahat ng mga anak na elemento ng bookstore element. |
//* | Piliin ang lahat ng elemento sa dokumento. |
//title[@*] | Piliin ang lahat ng title na may ari na attribute. |
Piliin ang ilang mga path
Sa pamamagitan ng paggamit ng operator na “|” sa expression ng path, maaari mong piliin ang ilang mga path.
Mga halimbawa
Sa ilalim ng talahanapan, ipinapakita namin ang ilang mga expression ng path at ang resulta nito:
表达式 na path | resulta |
---|---|
//book/title | //book/price | Piliin ang lahat ng title at price na mga elemento ng book element. |
//title | //price | 選擇文檔中的所有 title 和 price 元素。 |
/bookstore/book/title | //price | 選擇屬於 bookstore 元素的 book 元素的所有限 title 元素,以及文檔中所有的 price 元素。 |
- 上一頁 XPath Nodes
- 下一頁 XPath 軸