libxml中用到的Xpath语法说明
轉:http://hi.baidu.com/likejava/blog/item/ef8f43d013c6378fa1ec9c0b.html
XPath使用路徑表達式去確定XML文檔中的節點。我們將利用下面的XML文檔描述XPath語法
?
1 xml version="1.0" encoding="GB2312"?>2
3 <order>
4 <item catalog="parts">
5 <itemNumber>C2688-67037itemNumber>
6 <description>LCD液晶顯示器description>
7 <quantity>1quantity>
8 <price>358.00price>
9 item>
10 <item catalog="parts">
11 <itemNumber>C2688-67061itemNumber>
12 <description>音箱description>
13 <quantity>1quantity>
14 <price>16.50price>
15 item>
16 <item catalog="parts">
17 <itemNumber>C2688-67010itemNumber>
18 <description>鼠標description>
19 <quantity>1quantity>
20 <price>8.50price>
21 item>
22 order>
?
節點定位:
XML文擋可以表示為樹結構節點形式
XPath使用模式表達式識別XML文檔的節點。
一個XPath的模式是使用反斜杠“/”分開子元素名稱描述路徑
下面的XPath表達式選擇元素order下元素item中的所有price元素
/order/item/price
注釋:用“/”路徑開始代表元素的絕對路徑.
不用“/”路徑開始代表元素的相對路徑
item/price
用“//”路徑開始代表整個文檔滿足條件的所有元素
下面的XPath表達式選擇文檔中所有的item元素
//item
選擇未知元素
通配符 “*”可用于選擇未知XML元素
下面的XPath表達式選擇元素order中的所有item元素所屬的子元素
/order/item/*
下面的XPath表達式選擇元素order下所有孫子輩的price元素
/order/*/price
下面的XPath表達式選擇所有具有兩個祖先的price元素
/*/*/price
下面的XPath表達式選擇文檔所有元素
//*
選擇分支
使用方括號[]可以指定特定的元素
下面的XPath表達式選擇元素order中的第一個item的子元素
/order/item[1]
下面的XPath表達式選擇元素order中的最后一個item的子元素
/order/item[last()]
下面的XPath表達式選擇元素order中具有price元素的item元素
/order/item[price]
下面的XPath表達式,從元素order中選擇具有price等于12.60元素的item元素
/order/item[price=16.50]
下面的XPath表達式,從隸屬于元素order的item元素中選擇具有price等于12.60元素的price元素
/order/item[price=16.50]/price
選擇幾個路徑
在XPath表達式中,使用 "|" 運算符可以選擇幾個路徑 。實質上是邏輯“與”操作
下面的XPath表達式,從隸屬于order的item元素中選擇所有itemNumber 和description 元素?
/order/item/itemNumber | /order/item/description
下面的XPath表達式,從文檔中選擇所有itemNumber 和description 元素?
//itemNumber | //description
下面的XPath表達式,從文檔中選擇所有itemNumber ,description和price 元素?
//itemNumber | //description | //price
下面的XPath表達式,選取屬于order中item下所有itemNumber元素和從文檔中選擇所有description元素?
/order/item/itemnumber | //description
選擇屬性
在XPath中,所有屬性使用@前綴
下面的XPath表達式,選取所有名為catalog的屬性
//@catalog
下面的XPath表達式,選取所有具有catalog屬性的item元素
//item[@catalog]
下面的XPath表達式,選取所有具有任何屬性的item元素
//item[@*]
下面的XPath表達式,選取所有具有catalog等于"parts"屬性的item元素
//item[@catalog="parts"]
轉載于:https://www.cnblogs.com/pengyingh/articles/2342486.html
總結
以上是生活随笔為你收集整理的libxml中用到的Xpath语法说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 厦门邮政编码(说一说厦门邮政编码的简介)
- 下一篇: 微信群最多可以加多少人?(微信群最多可以