没有合适的资源?快使用搜索试试~ 我知道了~
xpath详解总结-很全面.docx
需积分: 50 12 下载量 150 浏览量
2019-06-26
09:40:23
上传
评论
收藏 30KB DOCX 举报
温馨提示
试读
22页
xpath详解总结-很全面.docx
资源详情
资源评论
资源推荐
经常在工作中会使用到 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
文件。
路径表达式语法:
#
路径 = 相对路径 | 绝对路径
XPath 路径表达式 = 步进表达式 | 相对路径 "/"步进表达
式。
步进表达式=轴 节点测试 谓词
说明:
其中轴表示步进表达式选择的节点和当前上下文节点间的
树状关系(层次关系),节点测试指定步进表达式选择的
节点名称扩展名,谓词即相当于过滤表达式以进一步过滤
细化节点集。
谓词可以是 0 个或多个。多个多个谓词用逻辑操作符
and, or 连接。取逻辑非用 not()函数。
请看一个典型的 XPath 查询表达式:/messages/message//
child::node()[@id=0],其中/messages/message 是路径(绝
对路径以"/"开始),child::是轴表示在子节点下选择,node()是节
点测试表示选择所有的节点。[@id=0]是谓词,表示选择所有有属
性 id 并且值为 0 的节点。
相对路径与绝对路径:
如果"/"处在 XPath 表达式开头则表示文档根元素,(表达式中间作
为分隔符用以分割每一个步进表达式)如:/messages/
message/subject 是一种绝对路径表示法,它表明是从文档根开始
查找节点。假设当前节点是在第一个 message 节点【/
messages/message[1]】,则路径表达式 subject(路径前没
有"/")这种表示法称为相对路径,表明从当前节点开始查找。具体
请见下面所述的"表达式上下文"。
#
表达式上下文(Context):
上下文其实表示一种环境。以明确当前 XPath 路径表达式处在什么
样的环境下执行。例如同样一个路径表达式处在对根节点操作的环
境和处在对某一个特定子节点操作的环境下执行所获得的结果可能
是完全不一样的。也就是说 XPath 路径表达式计算结果取决于它所
处的上下文。
剩余21页未读,继续阅读
dd512
- 粉丝: 4
- 资源: 34
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0