什么是 XPath?

XPath即为XML路径语言,它是一种用来确定XML文档中某部分位置的语言。XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。

  • XPath 使用路径表达式在 XML 文档中进行导航
  • XPath 包含一个标准函数库
  • XPath 是 XSLT (扩展样式表转换语言)中的主要元素
  • XPath 是一个 W3C 标准

XPath 标准函数

XPath 术语 之 节点(Node)

在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档节点(或称为根节点)。
XPath简记

节点关系

  • 父(Parent)
    每个元素以及属性都有一个父。
  • 子(Children)
    元素节点可有零个、一个或多个子。
  • 同胞(Sibling)
    拥有相同的父的节点
  • 先辈(Ancestor)
    某节点的父、父的父,等等。
  • 后代(Descendant)
    某个节点的子,子的子,等等。

XPath 语法

  • XPath 使用路径表达式来选取 XML 文档中的节点或节点集。节点是通过沿着路径 (path) 或者步 (steps) 来选取的。
  • 下面将从下面几个方面来介绍:
    • 选取节点
    • 谓语(Predicates)
    • 选取未知节点
    • 选取若干路径

一个XML文档实例

XPath简记

选取节点 之 最常用的路径表达式

XPath简记

选取节点 之 实例

XPath简记

谓语(Predicates)

  • 谓语用来查找某个特定的节点或者包含某个指定的值的节点。
  • 谓语被嵌在方括号中。
    XPath简记
    XPath简记

选取未知节点 之 符号

XPath简记

选取未知节点 之 实例

XPath简记

选取若干路径 之 实例

通过在路径表达式中使用“|”运算符,您可以选取若干个路径。
XPath简记

XPath Axes(坐标轴)

XPath Axes(坐标轴)
XPath简记

位置路径表达式

  • 位置路径可以是绝对的,也可以是相对的。
  • 绝对路径起始于正斜杠( / ),而相对路径不会这样。在两种情况中,位置路径均包括一个或多个步,每个步均被斜杠分割:
  • 绝对位置路径:
    /step/step/…
  • 相对位置路径:
    step/step/…
  • 每个步均根据当前节点集之中的节点来进行计算。

步(step)包括:

  • 轴(axis)
    定义所选节点与当前节点之间的树关系
  • 节点测试(node-test)
    识别某个轴内部的节点
  • 零个或者更多谓语(predicate)
    更深入地提炼所选的节点集
  • 步的语法:
    轴名称::节点测试[谓语]
    XPath简记

XPath实例

XPath简记

相关文章:

  • 2021-09-17
  • 2021-09-21
  • 2021-10-28
  • 2021-08-18
  • 2022-01-22
  • 2021-08-29
猜你喜欢
  • 2021-07-31
  • 2022-12-23
  • 2022-03-07
  • 2022-01-01
  • 2021-11-02
  • 2021-09-26
相关资源
相似解决方案