xpath (xml find)
大约 1 分钟
xpath (xml find)
表达式
表达式 | 描述 |
---|---|
node_name | 选取此节点的所有子节点 |
/ | 绝对路径,从根节点选取 |
// | 相对路径,从所有节点中查找符合条件的节点,包括子节点和后代节点 |
. | 选取当前节点 |
.. | 选取当前节点的父节点 |
@ | 选取属性值 |
节点类型
类型 | 描述 |
---|---|
Root | 根元素节点 |
Element | 元素节点 |
Text | 文本节点 |
Attribute | 节点的属性 |
Comment | 注释 |
通配符
通配符 | 描述 |
---|---|
* | 匹配任意元素节点 |
@* | 匹配任意属性节点 |
node() | 匹配任何类型的节点 |
函数或属性
property | 描述 |
---|---|
text() | /div/text() = 获取文本,/div/[text()='xxx'] = 文本为xxx的元素 |
starts-with(@attribute, 'xxx') | 属性名以xxx开头的元素 |
contains(@attribute, '') | 属性名包含xxx的元素 |
[@attribute=xxx and @attribute=xxx2] | 同时有两个属性值的元素 |
text() | 子文本节点 |
concat(string1,string2,...) | 连接所有字符串 |
ceiling() | 向上取整 |
floor() | 向下取整 |
round() | 四舍五入 |
sum() | 返回两个数的整合 |
谓词
谓词 | 描述 |
---|---|
[position()] | /div/[position() = 0] 序号等于0的元素 |
[last()] | 最后一个元素 |
[@属性名 = '内容'] | 属性的内容=xxx的元素 |
[元素 = xxx] | /div/[div = content] 元素的值等于xxx的 |
运算符
运算符 | 描述 |
---|---|
| | 计算两个节点集 |
+ | |
- | |
* | |
div | 除法 |
mod | 取余 |
= | |
!= | |
< | |
> | |
<= | |
>= | |
or | |
and | |
not() | 不等于xxx的xxx |
<!-- 选择根节点div元素 -->
//div
<!-- 选择元素为div并且属性id=‘my_id’的元素 -->
//div[@id='my_id']
选择包含id属性的元素
//div/@id