admin 管理员组文章数量: 1086019
2024年3月10日发(作者:awk内置函数)
经常在工作中会使用到XPath的相关知识,但每次总会在一些关键
的地方不记得或不太清楚,所以免不了每次总要查一些零碎的知识,
感觉即很烦又浪费时间,所以对XPath归纳及总结一下。
在这篇文章中你将能学习到:
•
XPath简介
XPath 路径表达式详解
XPath在DOM,XSLT及XQuery中的应用
•
•
XPath简介
XPath是W3C的一个标准。它最主要的目的是为了在XML1.0或X
ML1.1文档节点树中定位节点所设计。目前有XPath1.0和XPath2.
0两个版本。其中Xpath1.0是1999年成为W3C标准,而XPath
2.0标准的确立是在2007年。W3C关于XPath的英文详细文档请
见:/TR/xpath20/ 。
XPath是一种表达式语言,它的返回值可能是节点,节点集合,原
子值,以及节点和原子值的混合等。XPath2.0是XPath1.0的超集。
它是对XPath1.0的扩展,它可以支持更加丰富的数据类型,并且X
Path2.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文
件。
•
路径表达式语法:
•
路径 = 相对路径 | 绝对路径
XPath路径表达式 = 步进表达式 | 相对路径 "/"步进表达
式。
•
•
步进表达式=轴 节点测试 谓词
说明:
•
其中轴表示步进表达式选择的节点和当前上下文节点间的
树状关系(层次关系),节点测试指定步进表达式选择的
节点名称扩展名,谓词即相当于过滤表达式以进一步过滤
细化节点集。
•
谓词可以是0个或多个。多个多个谓词用逻辑操作符and,
or连接。取逻辑非用not()函数。
请看一个典型的XPath查询表达式:/messages/message//child::
node()[@id=0],其中/messages/message是路径(绝对路径以"/
"开始),child::是轴表示在子节点下选择,node()是节点测试表示
版权声明:本文标题:(word完整版)xpath详解总结,很全面 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1710017150a553804.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论