XPath 是一门在 XML 文档中查找信息的语言。
基础信息
在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。XML 文档是被作为节点树来对待的。树的根被称为文档节点或者根节点,节点之间的关系有以下几种:
- 父(Parent):每个元素以及属性都有一个父
- 子(Children):元素节点可有零个、一个或多个子
- 同胞(Sibling):拥有相同的父的节点
- 先辈(Ancestor):某节点的父、父的父,等等。
- 后代(Descendant):某个节点的子,子的子,等等
XPath语法:
XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径 (path) 或者步 (steps) 来选取的,以下面books.xml为例,描述xpath语法。
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book>
<title lang="eng">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>
</bookstore>
-
选取节点:XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。 下面列出了最有用的路径表达式,右边两列列出了一些路径表达式以及表达式的结果
-
谓语(Predicates):谓语用来查找某个特定的节点或者包含某个指定的值的节点,谓语被嵌在方括号中。
在下面的表格中,我们列出了带有谓语的一些路径表达式,以及表达式的结果:
-
选取未知节点:XPath 通配符可用来选取未知的 XML 元素
-
选取若干路径:通过在路径表达式中使用"|"运算符,可以选取若干个路径。在下面的表格中,我们列出了一些路径表达式,以及这些表达