xpath 常用语法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
xpath 常用语法
一、XPath简介
XPath是一种用于在XML文档中定位节点的语言。
它是一种基于路径表达式的查询语言,可以通过节点名称、属性、位置等信息来查找XML文档中的节点。
二、XPath语法
1. 节点选择器
- 通配符:使用星号(*)表示选择所有节点。
- 元素节点:使用元素名称选择节点。
- 属性节点:使用[@属性名]选择节点。
- 文本节点:使用text()选择节点。
2. 路径表达式
- 相对路径:使用斜杠(/)表示从根节点开始的路径。
- 绝对路径:使用双斜杠(//)表示不考虑节点位置的路径。
- 父节点:使用双点(..)表示选取当前节点的父节点。
- 子节点:使用斜杠(/)表示选取当前节点的子节点。
- 兄弟节点:使用斜杠加节点名称(/节点名称)表示选取当前节点的同级节点。
3. 谓语
- 谓语是用来过滤节点的条件表达式,可以在节点选择器后面使用
方括号([])来添加谓语。
- 谓语可以使用比较运算符(=、!=、<、>等)和逻辑运算符(and、or)进行条件判断。
4. 逻辑运算符
- and:逻辑与运算符,表示同时满足两个条件。
- or:逻辑或运算符,表示满足其中一个条件。
- not:逻辑非运算符,表示不满足条件。
5. 数字函数
- count():返回指定节点集合的节点数量。
- sum():计算指定节点集合的数值之和。
- avg():计算指定节点集合的数值平均值。
- min():返回指定节点集合的最小值。
- max():返回指定节点集合的最大值。
6. 字符串函数
- concat():连接两个字符串。
- contains():判断一个字符串是否包含另一个字符串。
- starts-with():判断一个字符串是否以另一个字符串开头。
- ends-with():判断一个字符串是否以另一个字符串结尾。
- substring():截取字符串的一部分。
- string-length():返回字符串的长度。
7. 位置函数
- last():返回当前节点集合中的最后一个节点的位置。
- position():返回当前节点在父节点中的位置。
三、XPath在实际应用中的例子
1. 选择所有节点:
- //*
这个表达式可以选择XML文档中的所有节点。
2. 选择指定元素节点:
- //book
这个表达式可以选择XML文档中所有名称为book的元素节点。
3. 选择具有指定属性的节点:
- //*[@price]
这个表达式可以选择XML文档中所有具有price属性的节点。
4. 选择具有指定属性值的节点:
- //book[@category='web']
这个表达式可以选择XML文档中所有category属性值为web的book节点。
5. 选择具有指定文本内容的节点:
- //title[text()='XPath']
这个表达式可以选择XML文档中所有文本内容为XPath的title节点。
6. 选择具有指定父节点的子节点:
- //bookstore/book/title
这个表达式可以选择XML文档中所有bookstore下的book元素节点的title子节点。
7. 选择具有指定位置的节点:
- (//book)[3]
这个表达式可以选择XML文档中第三个book节点。
8. 选择满足多个条件的节点:
- //book[@category='web' and price>50]
这个表达式可以选择XML文档中category属性值为web且price 大于50的book节点。
9. 计算节点数量:
- count(//book)
这个表达式可以计算XML文档中book节点的数量。
10. 字符串处理:
- concat('Hello', 'World')
这个表达式可以将两个字符串连接起来,结果为"HelloWorld"。
四、总结
XPath是一种功能强大的查询语言,通过使用节点选择器、路径表达式、谓语等语法,可以灵活地定位和处理XML文档中的节点。
掌握XPath语法对于解析XML文档、提取数据非常有帮助。
在实际应用中,可以根据具体需求使用不同的XPath表达式来实现精确的节点选择和数据处理。
通过学习和掌握XPath的常用语法,可以更高效地处理XML数据。