XPath
是一門在 XML
文檔中查找信息的語言考润。
一读处、常用工具
二粥脚、XML實例文檔
<?xml version="1.0" encoding="UTF-8"?>
<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>
三刷允、XPath 語法
測試DOM文檔實例:
-
選取節(jié)點:
表達式 |
描述 |
nodename |
選取此節(jié)點中的所有子節(jié)點 |
/ |
從根節(jié)點選取 |
// |
不考慮位置树灶,可以從任意節(jié)點選取 |
. |
選取當前節(jié)點 |
.. |
選取當前節(jié)點的父節(jié)點 |
@ |
選取屬性 |
-
謂語(Predicates):
謂語被嵌在方括號中天通,用來查找某個特定的節(jié)點或者包含某個指定的值的節(jié)點歧蒋;
用法示例:
路徑表達式 |
結果 |
/bookstore/book[1] |
選取bookstore下的第一個中的book元素 |
/bookstore/book[last()] |
選取bookstore下的最后一個中的book元素 |
/bookstore/book[position()<3] |
選取bookstore下的最前面兩個book元素 |
//title[@lang] |
所有包含屬性lang的title元素 |
/bookstore/book[price>35.00] |
選取bookstore下, price>35.00的book元素 |
//title[@lang] |
所有包含屬性lang的title元素 |
/bookstore/book[price>35.00]/title |
選取bookstore下, price>35.00的book元素下的title |
-
通配符:
*
XPath
通配符可用來選取未知的XML
元素。
通配符 |
描述 |
* |
匹配任何元素的節(jié)點 |
@* |
匹配任何屬性節(jié)點 |
node() |
匹配任何類型的節(jié)點 |
用法示例:
路徑表達式 |
結果 |
/bookstore/* |
選取bookstore下的第一個中的book元素 |
//* |
選取文檔中的所有元素 |
//title[@*] |
選取所有包含屬性的title元素 |
-
管道符:
|
XPath
管道符可用來選取若干個路徑。
路徑表達式 |
結果 |
//book/title | //book/price |
選取book下的所有title和price元素 |
//title | //price |
選取文檔中的所有元素title和price元素 |
/bookstore/book/title | // price |
選取bookstore下的book下的title元素和文檔中所有的price元素 |
四蚌卤、XPath 運算符
運算符 |
描述 |
實例 |
| |
計算兩個節(jié)點集 |
//book | //cd |
+ |
加法 |
6 + 4 |
- |
減法 |
6 - 4 |
* |
乘法 |
6 * 4 |
div |
除法 |
6 div 4 |
= |
等于 |
price = 30.0 |
!= |
不等于 |
price != 30.0 |
< |
小于 |
price < 30.0 |
<= |
小于等于 |
price <= 30.0 |
> |
大于 |
price > 30.0 |
>= |
大于等于 |
price >= 30.0 |
or |
或 |
price >= 30.0 or price <= 60.0 |
and |
與 |
price >= 30.0 and price <= 60.0 |
mod |
取余 |
5 mod 2 |
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者