XPath 简介

Back to Documentation Index

XPath 同样也是 w3c 的标准之一,他的主要目的是为 xslt 和 xpointer 提供共用的统一的语法,在 XML 文档中进行信息的寻址和数据的检索。他提供了对 string,number,booleans 基本数据类型的操作功能。 XPath 使用类似于普通的文件系统寻址方式,对 XML 中的数据进行匹配(类似于 "/bookstore/book/")。并且 XPath 还提供很多标准库函数,以进行更多复杂的处理操作。

XPath 的语法

XPath 使用路径表达式在 XML 文档中选择节点/节点集合。下面通过一些实例来看看 XPath 的语法。

在下面的例子中,使用如下的 XML 文档:

<?xml version="1.0" encoding="ISO-8859-1"?>
<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>

对该 XML 可用如下的路径表达式进行数据的检索:

还可以利用谓词来进行查询:

还可以使用*,@*,node()来检索未知的节点:

还可以使用'|'来表示对从多个路径表达式来得到结果集:

XPath 的操作符和函数

XPath 提供了 "+,-,*,div,>=,<=,or,and" 等操作符进行算术和逻辑的运算。如: '/bookstore/book[price>20 and price<=50]'

关于 XPath 操作符的详细信息。

参考: http://www.w3schools.com/xpath/xpath_operators.asp

XPath 还提供了数百个库函数,包括字符串,数字,错误等处理的函数。以提供强大的功能。

参考: http://www.w3schools.com/xpath/xpath_functions.asp