经常在工作中会使用到 XPath 的相关知识,但每次总会在一些关键的地方不记
得或不太清楚,所以免不了每次总要查一些零碎的知识,感觉即很烦又浪费时
间,所以对 XPath 归纳及总结一下。
在这篇文章中你将能学习到:
XPath 简介
XPath 路径表达式详解
XPath 在 DOM,XSLT 及 XQuery 中的应用
XPath 简介
XPath 是 W3C 的一个标准。它最主要的目的是为了在 XML1.0 或 XML1.1 文
档节点树中定位节点所设计。目前有 XPath1.0 和 XPath2.0 两个版本。其中
Xpath1.0 是 1999 年成为 W3C 标准,而 XPath2.0 标准的确立是在 2007 年。
W3C 关于 XPath 的英文 详细文档请见:http://www.w3.org/TR/xpath20/
。
XPath 是一种表达式语言,它的返回值可能是节点,节点集合,原子值,以及
节点和原子值的混合等。XPath2.0 是 XPath1.0 的超集。它 是对 XPath1.0
的扩展,它可以支持更加丰富的数据类型,并且 XPath2.0 保持了对
XPath1.0 的相对很好的向后兼容性,几乎所有的 XPath2.0 的返回结果都可
以和 XPath1.0 保持一样。另外 XPath2.0 也是 XSLT2.0 和 XQuery1.0 的用
于查询定位节点的主表达 式语言。XQuery1.0 是对 XPath2.0 的扩展。关于
在 XSLT 和 XQuery 中使用 XPath 表达式定位节点的知识在后面的实例中会有
所介绍。
在学习 XPath 之前你应该对 XML 的节点,元素,属性,原子值(文本),处
理指令,注释,根节点(文档节点),命名空间以及对节点间的关系如:父
(Parent),子(Children),兄弟(Sibling),先辈(Ancestor),后代
(Descendant)等概念有所了解。这里不在 说明。
XPath 路径表达式
在本小节下面的内容中你将可以学习到:
路径表达式语法
相对/绝对路径
表达式上下文
谓词(筛选表达式)及轴的概念
运算符及特殊字符
常用表达式实例
函数及说明
这里给出一个实例 Xml 文件。下面的说明及实例都是基于该 XML 文件。
评论5