1. 基本概念:
- 节点: 在XPath中,XML文档中的所有内容都是节点,包括元素节点、属性节点、文本节点等。
- 路径表达式: XPath使用路径表达式来定位和选择节点,路径可以从文档的根节点开始,也可以从当前节点开始。
2. 常用语法:
- 路径分隔符: / 从根节点开始选择,// 选择匹配的节点,而不考虑其位置。
- 通配符: * 匹配任何元素节点,@* 匹配任何属性节点。
- 谓词: 使用中括号 [] 来添加条件,过滤节点。
3. 轴(Axes):
- 子轴(Child Axis): child:: 选择当前节点的所有子元素。
- 父轴(Parent Axis): parent:: 选择当前节点的父节点。
- 属性轴(Attribute Axis): attribute:: 选择当前节点的所有属性。
- 命名空间轴(Namespace Axis): namespace:: 选择当前节点的所有命名空间节点。
- 前代轴(Ancestor Axis): ancestor:: 选择当前节点的所有祖先节点。
- 后代轴(Descendant Axis): descendant:: 选择当前节点的所有后代节点。
- 同级轴(Sibling Axis): preceding-sibling:: 选择当前节点之前的所有同级节点,following-sibling:: 选择当前节点之后的所有同级节点。
4. 运算符:
- 数值运算符: +, -, *, /, %。
- 比较运算符: =, !=, <, >, <=, >=。
- 逻辑运算符: and, or, not。
- 字符串运算符: concat(), contains(), starts-with(), string-length()。
5. 函数:
XPath提供了一系列内置函数,如 string(), count(), sum() 等,用于在选择和处理节点时执行各种操作。
6. 实例:
通过XPath表达式可以在XML文档中选择特定节点,进行数据提取和操作。
/bookstore/book/title
/bookstore/book[price > 20]/title
/bookstore/book/title[@lang='fr']/../author
count(/bookstore/book)
XPath是一个强大而灵活的工具,适用于XML文档的查询和数据提取。学会使用XPath可以更高效地处理和操作XML数据。
转载请注明出处:http://www.pingtaimeng.com/article/detail/12188/XML