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 的更多知識。