元素查找(xpath)

来源:互联网 发布:公司里面做网络维护 编辑:程序博客网 时间:2024/05/29 18:38
本次整理只使用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
从匹配选择的当前节点选择文档中的节点选取:"//",//book
选取当前节点:".", .//book,即book
选取当前节点的父节点:"..", ..//book ;即bookstore
选取属性:"@", //title[@lang="eng"]
谓语:
选取属于 bookstore 子元素的第一个 book 元素:/bookstore/book[1]
选取属于 bookstore 子元素的最后一个 book 元素:/bookstore/book[last()]
选取属于 bookstore 子元素的倒数第二个 book 元素:/bookstore/book[last()-1]
选取最前面的两个属于 bookstore 元素的子元素的 book 元素:/bookstore/book[position()<3]
选取所有拥有名为 lang 的属性的 title 元素://title[@lang]
选取所有 title 元素,且这些元素拥有值为 eng 的 lang 属性://title[@lang='eng']
选取 bookstore 元素的所有 book 元素,且其中的 price 元素的值须大于 35.00:/bookstore/book[price>35.00]
选取 bookstore 元素中的 book 元素的所有 title 元素,且其中的 price 元素的值须大于 35.00:/bookstore/book[price>35.00]/title
选取未知节点:
匹配任何元素节点:"*", /bookstore/*
匹配任何属性节点:"@*", //title[@*]
匹配任何类型的节点:"node()", //title[node()] ,/bookstore/node()
选取若干路径:
通过在路径表达式中使用“|”运算符,您可以选取若干个路径
例:
选取 book 元素的所有 title 和 price 元素://book/title | //book/price
xpath运算符:
太多,去w3school上看:http://www.w3school.com.cn/xpath/xpath_operators.asp
0 0