XPath(XML Path Language)是一种用于在XML文档中定位和选择节点的查询语言。以下是XPath的一些常见用法和示例:
1.选择节点:
1.1.选取所有节点:*
/*
1.2选取特定节点:nodeName
//book
2.路径表达式:
2.1通过路径选择节点:/ 表示从根节点开始,// 表示在整个文档中查找。
/bookstore/book/title
//book/title
3.谓语:
3.1通过条件筛选节点:
//book[@category='fiction']
4.通配符和多路径:
4.1使用 * 通配符匹配任意元素,| 表示多个路径。
//book/*
//book/title | //book/price
5.位置:
5.1选择节点的特定位置:
//book[1] # 第一个 <book> 节点
//book[last()] # 最后一个 <book> 节点
//book[position() < 3] # 前两个 <book> 节点
6.文本内容和属性:
6.1获取节点文本内容:
//book/title/text()
6.2获取属性值:
//book/@category
7.使用通配符:
7.1通配符用于匹配任意元素或属性:
//* # 所有元素
//@* # 所有属性
8.函数:
8.1使用内建函数,如 contains():
//book[contains(title, 'XML')]
9.逻辑运算:
9.1结合多个条件使用 and 和 or:
//book[@category='fiction' and price<10]
这些是XPath的基本用法。XPath还支持更高级的功能,例如数值比较、节点集合操作和函数的使用。具体的用法取决于你的XML文档的结构和你想要查询的数据。以下是一个示例XML文档和对应的XPath查询:
XML文档示例:
<bookstore>
<book category="fiction">
<title>Harry Potter</title>
<price>10.99</price>
</book>
<book category="non-fiction">
<title>Introduction to XPath</title>
<price>19.99</price>
</book>
</bookstore>
XPath示例查询:
1.选取所有书籍的标题:
//book/title
2.选取价格低于20的书籍:
//book[price < 20]
3.选取分类为小说的书籍标题:
//book[@category='fiction']/title