XML 中使用 XPath

什么是 XPath ?

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

XPath 可用于在XML文档中的元素和属性之间导航。

  • 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。


实例

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <bookstore>
  3. <book category="cooking">
  4. <title lang="en">Everyday Italian</title>
  5. <author>Giada De Laurentiis</author>
  6. <year>2005</year>
  7. <price>30.00</price>
  8. </book>
  9. <book category="children">
  10. <title lang="en">Harry Potter</title>
  11. <author>J K. Rowling</author>
  12. <year>2005</year>
  13. <price>29.99</price>
  14. </book>
  15. <book category="web">
  16. <title lang="en">XQuery Kick Start</title>
  17. <author>James McGovern</author>
  18. <author>Per Bothner</author>
  19. <author>Kurt Cagle</author>
  20. <author>James Linn</author>
  21. <author>Vaidyanathan Nagarajan</author>
  22. <year>2003</year>
  23. <price>49.99</price>
  24. </book>
  25. <book category="web">
  26. <title lang="en">Learning XML</title>
  27. <author>Erik T. Ray</author>
  28. <year>2003</year>
  29. <price>39.95</price>
  30. </book>
  31. </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=’eng’]选取所有 title 元素,且这些元素拥有值为 eng 的 lang 属性。
/bookstore/book[price>35.00]选取 bookstore 元素的所有 book 元素,且其中的 price 元素的值须大于 35.00。
/bookstore/book[price>35.00]/title选取 bookstore 元素中的 book 元素的所有 title 元素,且其中的 price 元素的值须大于 35.00。

XPath 教程

您可以访问本站的 XPath 教程 来学习更多的 XPath 知识。