0%

XPath/xpath

XPath节点

节点

基本值:无父或无子的节点

项目: 基本值或者节点

节点关系:

  • 同胞: 拥有相同父节点的节点
  • 先辈: 某节点的父、父的父
  • 后代:

Xpath语法

路径表达式:

  • Nodename: 选取此节点的所有子节点
  • /:从根节点选取
  • //: 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置
  • .:选取当前节点
  • ..: 选取当前节点的父节点
  • @: 选取属性

谓语

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

谓语被嵌在方括号中

选取未知节点:

1
2
3
*: 匹配任何元素节点
@*:匹配任何属性节点
node():匹配任何类型的节点

选取若干路径

使用|分割若干路径

Xpath轴(Axes)

轴可定义相对于当前节点的节点集

1
2
3
4
5
6
7
8
9
10
11
12
13
ancestor: 
ancestor-or-self:
attribute:
child:
descendant: 选取当前节点的所有后代节点
descendant-or-self:
following: 选取问文档中当前节点的结束标签之后的所有节点
following-sibling: 选取当前节点之后的所有兄弟节点
namespace: 选取当前节点的所有命名空间节点
parent:
preceding: 选取文档中当前节点的开始标签之前的所有节点
preceding-sibling: 选取当前节点之前的所有同级节点
self:

Xpath运算符

xpath表达式可返回节点集、字符串、逻辑值以及数字

1
2
div: 除法
mod: 计算除法的余数