XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。

节点

Xpath共有7个节点
有用的Xpath表达式

节点关系

以当前节点为中心与其他节点的光系。
有用的Xpath表达式

选取节点

XPath使用路径表达式来选取节点。

表达式 描述
/div 从根节点开始,选择所有div子元素节点
//div 从当前节点开始,选择所有的div后代元素节点
@href 选择所有拥有href属性的元素节点
. 选择当前元素节点
. . 选择当前节点的父元素节点

谓语

谓语用来查找某个特定的节点或者包含某个指定的值的节点。

谓语 描述
/div[1] 从根节点开始,选择第一个div子元素节点
/div[last()] 从根节点开始,选择最后一个div子元素节点
/div[position()<5] 从根节点开始,选择前面5个div子元素节点
/a[@href] 从根节点开始,选择拥有href属性的a元素节点
/a[@href=‘https://editor.csdn.net/md?not_checkout=1&articleId=108485408’] 从根节点开始,选择拥有href属性值为https://editor.csdn.net/md?not_checkout=1&articleId=108485408的a元素节点
/a[p>3] 从根节点开始,选择所有p子元素节点的值大于3的a元素节点
* 选择所有元素节点
@* 选择所有属性节点
node() 选择所有节点
/a /p

轴相对于当前节点的节点集。默认从根节点开始。

描述
ancestor 选取当前节点的先辈节点
ancestor-or-self 选取当前节点的先辈节点和自己
parent 选取当前节点的父节点
child 选取当前节点的子节点
attribute 选取当前节点的所有属性
follow 选取跟随在当前节点的之后所有节点
preceding 选取在当前节点前的所有节点
preceding-sibling 选取在当前节点前的兄弟节点
descendant 选取当前节点的所有后代节点
descendant-or-self 选取当前节点的所有后代节点
self 选取当前节点
namespace 选取当前节点所有命名空间节点

运算符

运算符 描述
+ 加法
- 减法
* 乘法
div 除法
= 等于
!= 等于
> 大于
< 小于
<= 小于等于
<= 大于等于
or
and
not
mod 取模

函数

函数 描述 返回值
number(‘1’) 将字符串转化为数字 1
abs(-1.5) 将数字转化为绝对值 1.5
ceiling(2.5) 返回天花板整数 3
floor(2.5) 返回地板整数 2
round(3.14) 四舍五入 3
string(1.5) 转化为字符串 “1.5”
concat(“你”, “好”) 字符串拼接 “你好”
string-join((“你”, “好”),",") 字符串插入 “你,好”
substring(“Learning xpath”,3,2) 字符串切片 “ar”
string-length(“Learning xpath”) 字符串切片 15
normalize-space(" Learning xpath ") 删除前后的空格,将内部的空格替换成一个 “Learning xpath”
upper-case(“Learning xpath”) 字符串大写 “LEARNING XPATH”
lower-case(“LEARNING XPATH”) 字符串大写 “learning xpath”
translate(“Learning python”, “python”, “xpath”) 字符串替换 “learning xpath”
contains(“Learning python”, “python”) 检查是否包含字符串 True
starts-with(“Learning python”, “python”) 检查是否以python开头 False
ends-with(“Learning python”, “python”) 检查是否以python结束 True
substring-before(“Learning python”, “python”) 放回python前的字符串 “Leadrning”
substring-after(“Learning python”, “Learning”) 放回Learning前的字符串 " python"
matches(“Learning python”, “Learning”) 是否搜索得到Learning True
replce(“Learning python”, “python”,“xpath”) 字符串替换 “learning xpath”
tokenize(“Learning python”,"\s+") 字符串替换 “learning”, “python”

更多函数查看:

https://www.w3school.com.cn/xpath/xpath_functions.asp

相关文章:

  • 2021-12-13
  • 2022-12-23
  • 2021-11-05
  • 2022-12-23
  • 2022-12-23
  • 2021-09-24
  • 2021-06-16
猜你喜欢
  • 2021-08-21
  • 2021-07-22
  • 2021-12-30
  • 2021-12-11
  • 2022-12-23
  • 2021-10-15
相关资源
相似解决方案