xpath语法

admin 39 0

XPath是一种在XML文档中查找信息的语言,它被用于在XML文档中对元素和属性进行遍历,以下是XPath语法的简要概述:

1. 基本语法:

* 当前节点:`.`

* 根节点:`/`

* 任意位置:`//`

* 当前位置的根节点往下匹配:`/`

* 当前位置往下任意匹配:`//`

* 节点名定位:`nodename`

* 根据节点的属性进行定位:`nodename[@attribute='value']`

* 获取节点的属性值:`@attribute`

* 获取节点的文本:`text()`

2. 属性匹配:

* 单属性多值匹配:当节点的一个属性的多个值时,可以使用`contains()`函数根据其中的一个值进行定位。

* 多属性匹配:使用节点的多个属性共同定位节点,例如:`//div[@name='divtag' and @class='item']`。

3. 按序选择:

* 索引定位:通过指定索引值来选取节点,索引从1开始,`[6]`。

4. 轴(轴表示步进表达式选择的节点和当前上下文节点间的树状关系):

* `child::`:选择子节点。

* `parent::`:选择父节点。

* `following-sibling::`:选择同级节点。

* `preceding-sibling::`:选择同级节点。

* `following::`:选择同级及以下节点。

* `preceding::`:选择同级及以上节点。

5. 谓词(谓词即相当于过滤表达式以进一步过滤细化节点集):

* `[@attribute='value']`:根据属性值过滤节点。

* `[node()='value']`:根据节点值过滤节点。

* `[position()=n]`:根据位置过滤节点,n表示位置索引。

6. 逻辑操作符:

* `and`:逻辑与。

* `or`:逻辑或。

7. 取逻辑非用`not()`函数。