IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

XML路径语言:XPath

标点符 2010-04-13 10:57:41 累计浏览 2,901 次
本机暂存

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的每个步骤里,通过完整的轴描述(例如:childdescendant-or-self)进行明确的指定,然后使用::,它的后面跟着节点测试的内容,例如上面范例所示的A以及node()

参考文档:http://zh.wikipedia.org/wiki/XPath

原图已失效

同分类推荐文章

  1. 第七章 事务 (2026-04-07 08:00:00)
  2. 第六章:分区 (2026-03-29 08:00:00)
  3. Neko Master: 从 0 到 1K+ Star 的 Vibe Coding 实践 (2026-03-01 08:00:00)

查看更多 数据库 文章 →

建议继续学习

  1. XML和JSON (累计阅读 7,660)
  2. AWStats是一个基于Perl的WEB日志分析工具。 (累计阅读 7,102)
  3. 使用SoapHeader实现Soap请求验证 (累计阅读 6,003)
  4. 国内团购网前端严重安全漏洞– 以满座网为案例分析 (累计阅读 5,808)
  5. 使用Perl的HTML::TreeBuilder::XPath来解析网页内容 (累计阅读 4,741)
  6. xml转数组的方法 (累计阅读 4,622)
  7. 前端模板引擎 (累计阅读 4,521)
  8. 信XML,得自信 (累计阅读 4,501)
  9. 用于前端的模板引擎 (累计阅读 4,204)
  10. 如何将AIR应用打包成exe (累计阅读 4,082)