最新的Web开发教程
 

XML和XPath


的XPath (the XML Path language)是用于在XML文档中查找信息的语言。


什么是XPath?

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

XPath的路径表达式

XPath使用路径表达式在XML文档中选择节点或节点集。 这些路径表达式看起来非常像你看到的,当你有一个传统的计算机文件系统的工作表现。

今天,XPath表达式也可以使用JavaScript,Java和XML模式,PHP,Python和C和C ++,和许多其他语言的使用。


XPath是在使用XSLT

XPath是在XSLT标准的主要元素。 如果没有XPath的知识,你将无法创建XSLT文档。


XPath的实例

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

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

<bookstore>

<book category="cooking">
  <title lang="en">Everyday Italian</title>
  <author>Giada De Laurentiis</author>
  <year>2005</year>
  <price>30.00</price>
</book>

<book category="children">
  <title lang="en">Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>

<book category="web">
  <title lang="en">XQuery Kick Start</title>
  <author>James McGovern</author>
  <author>Per Bothner</author>
  <author>Kurt Cagle</author>
  <author>James Linn</author>
  <author>Vaidyanathan Nagarajan</author>
  <year>2003</year>
  <price>49.99</price>
</book>

<book category="web">
  <title lang="en">Learning XML</title>
  <author>Erik T. Ray</author>
  <year>2003</year>
  <price>39.95</price>
</book>

</bookstore>

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

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

如果您想了解更多的XPath,请阅读我们的XPath教程