XML路径语言:XPath
浏览:1993次 出处信息
XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。最常见的XPath表达式是路径表达式。路径表达式是从一个XML节点(当前的上下文节点)到另一个节点、或一组节点的书面步骤顺序。这些步骤以“/”字符分开,每一步有三个构成成分:
- 轴描述(用最直接的方式接近目标节点)
- 节点测试(用于筛选节点位置和名称)
- 节点描述(用于筛选节点的属性和子节点特征)
一般情况下,我们使用简写后的语法。虽然完整的轴描述是一种更加贴近人类语言,利用自然语言的单词和语法来书写的描述方式,但是相比之下也更加罗嗦。
最简单的XPath如下:
/A/B/C
在这里选择所有符合规矩的C节点:C节点必须是B的子节点(B/C
),同时B节点必须是A的子节点(A/B
),而A是这个XML文档的根节点(/A
)。此时的这种描述法类似于磁盘中文件的路径(URI),从盘符开始顺着一级一级的目录最终找到文件。
这里还有一个复杂一些的例子,包含了全部构成成分(请详细的看):
A//B/*[1]
此时选择的元素是:在B节点下的第一个节点(B/*[1]
),不论节点的名称如何(*
);而B节点必须出现在A节点内,不论和A节点之间相隔几层节点(//B
);与此同时A节点还必须是当前节点的子节点(A
,前边没有/
)。
在未缩写语法里,两个上述范例可以写为:
/child::A/child::B/child::C
child::A/descendant-or-self::B/child::node()[1]
在XPath的每个步骤里,通过完整的轴描述(例如:child
或descendant-or-self
)进行明确的指定,然后使用::
,它的后面跟着节点测试的内容,例如上面范例所示的A
以及node()
。
参考文档:http://zh.wikipedia.org/wiki/XPath
建议继续学习:
- XML和JSON (阅读:6715)
- htaccess二级目录重写找不到路径 (阅读:5542)
- Bash如何取得当前正在执行的脚本的绝对路径? (阅读:4797)
- 信XML,得自信 (阅读:3930)
- 前端模板引擎 (阅读:3779)
- xml转数组的方法 (阅读:3489)
- Ajax和WEB服务数据格式:XML SOAP HTML (阅读:3039)
- 使用javascript将XML解析为JSON (阅读:2333)
- XML实体注入漏洞安全警告 (阅读:2308)
- 实例演示SimpleXMLElement的用法 (阅读:2219)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:你真的了解HTML吗
后一篇:制作CSS气泡框 >>
文章信息
- 作者:标点符 来源: 标点符
- 标签: XML XPath 路径
- 发布时间:2010-04-13 10:57:41
建议继续学习
近3天十大热文
- [56] Oracle MTS模式下 进程地址与会话信
- [56] IOS安全–浅谈关于IOS加固的几种方法
- [55] 如何拿下简短的域名
- [54] 图书馆的世界纪录
- [52] android 开发入门
- [52] Go Reflect 性能
- [50] 读书笔记-壹百度:百度十年千倍的29条法则
- [49] 【社会化设计】自我(self)部分――欢迎区
- [38] 程序员技术练级攻略
- [33] 视觉调整-设计师 vs. 逻辑