XML 和 XPath

什么是 XPath?

XPath 是 XSLT 标准中的一个主要元素。

XPath 可用于定位(导航)XML 文档中的元素和属性。

XPath

XPath
  • XPath 是用于定义 XML 文档各部分的语法
  • XPath 使用路径表达式在 XML 文档中导航
  • XPath 包含标准函数库
  • XPath 是 XSLT 和 XQuery 中的主要元素
  • XPath 是 W3C 推荐标准

XPath 路径表达式

XPath 使用路径表达式来选择 XML 文档中的节点或节点集。这些路径表达式看起来非常类似于您在使用传统计算机文件系统时看到的表达式。

XPath 表达式可用于 JavaScript、Java、XML Schema、PHP、Python、C 和 C++ 以及许多其他语言。

XPath 用于 XSLT

XPath 是 XSLT 标准中的一个主要元素。

理解了 XPath,您就能充分利用 XSL。

XPath 实例

我们将使用下面的 XML 文档:

<?xml version="1.0" encoding="UTF-8"?>

<bookstore>

<book category="美食">
  <title lang="zh">雅舍谈吃</title>
  <author>梁实秋</author>
  <year>2013</year>
  <price>35</price>
</book>

<book category="儿童">
  <title lang="zh">了不起的狐狸爸爸</title>
  <author>罗尔德·达尔</author>
  <year>2009</year>
  <price>10.00</price>
</book>

<book category="文学">
  <title lang="zh">将熟悉变为陌生</title>
  <author>齐格蒙·鲍曼</author>
  <author>彼得·哈夫纳</author>
  <author>Kurt Cagle</author>
  <author>James Linn</author>
  <author>Vaidyanathan Nagarajan</author>
  <year>2003</year>
  <price>49.99</price>
</book>

<book category="政治">
  <title lang="zh">论美国的民主</title>
  <author>托克维尔</author>
  <year>1989</year>
  <price>60.00</price>
</book>

</bookstore>

在下表中,我们列出了一些 XPath 表达式以及表达式的结果:

XPath 表达式 结果
/bookstore/book[1] 选择作为 bookstore 元素的子元素的第一个 book 元素。
/bookstore/book[last()] 选择作为 bookstore 元素的子元素的最后一个 book 元素。
/bookstore/book[last()-1] 选择作为 bookstore 元素的子元素的倒数第二个 book 元素。
/bookstore/book[position()<3] 选择作为 bookstore 元素的子元素的前两个 book 元素。
//title[@lang] 选择所有拥有名为 lang 的属性的 title 元素。
//title[@lang='en'] 选择所有拥有 "lang" 属性且值为 "en" 的 title 元素。
/bookstore/book[price>35.00] 选择 bookstore 元素中 price 元素值大于 35.00 的所有 book 元素。
/bookstore/book[price>35.00]/title 选择 bookstore 元素的 book 元素中,price 元素值大于 35.00 的所有 title 元素。

XPath 教程

您将在我们的 XPath 教程中学到有关 XPath 的更多知识。