xpath的部分語法

wenmin311發表於2008-02-27
xpath的部分語法:
<?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>
表示式 描述
節點名 選擇所有該名稱的節點集
/ 選擇根節點
// 選擇當前節點下的所有節點
. 選擇當前節點
.. 選擇父節點
@ 選擇屬性
示例
表示式 描述
bookstore 選擇所有bookstore子節點
/bookstore 選擇根節點bookstore
bookstore/book 在bookstore的子節點中選擇所有名為book的節點
//book 選擇xml文件中所有名為book的節點
bookstore//book 選擇節點bookstore下的所有名為book為節點
//@lang 選擇所有名為lang的屬性
斷言
在方括號中[],用來更進一步定位選擇的元素
表示式 描述
/bookstore/book[1] 選擇根元素bookstore的book子元素中的第一個
注意: IE5以上瀏覽器中第一個元素是0
/bookstore/book[last()] 選擇根元素bookstore的book子元素中的最後一個
/bookstore/book[last()-1] 選擇根元素bookstore的book子元素中的最後第二個
/bookstore/book[position()<3] 選擇根元素bookstore的book子元素中的前兩個
//title[@lang] 選擇所有擁有屬性lang的titile元素
//title[@lang='eng'] 選擇所有屬性值lang為eng的title元素
/bookstore/book[price>35.00] 選擇根元素bookstore的book子元素中那些擁有price子元素且值大於35的
/bookstore/book[price>35.00]/title 選擇根元素bookstore的book子元素中那些擁有price子元素且值大於35的title子元素
選擇位置的節點
萬用字元 描述
* 匹配所有元素
@* 匹配所有屬性節點
node() 匹配任何型別的節點
示例
表示式 描述
/bookstore/* 選擇根元素bookstore的下的所有子元素
//* 選擇文件中所有元素
//title[@*] 選擇所有擁有屬性的title元素

使用操作符“|”組合選擇符合多個path的表示式

相關文章