最新的Web开发教程
 

XPath的例子


让我们试着通过看一些例子来学习一些基本的XPath语法。


XML实例文档

我们将使用下面的XML文档在下面的例子。

把 “books.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>

查看"books.xml"在浏览器中的文件


加载XML文档

使用XMLHttpRequest来加载XML文档中的所有现代浏览器的支持。

代码大部分现代浏览器:

var xmlhttp=new XMLHttpRequest()

代号为老微软浏览器(IE 5 and 6)

var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")

选择节点

不幸的是,使用XPath在Internet Explorer和其他浏览器的处理方式不同。

在我们的例子中,我们已经包含的代码应与大多数主要的浏览器。

Internet Explorer使用selectNodes()方法来选择从XML文档的节点:

xmlDoc.selectNodes( 火狐,Chrome,Opera和Safari使用evaluate()方法来选择从XML文档的节点:

xmlDoc.evaluate( 选择所有冠军

下面的例子中选择了所有的标题节点:

/bookstore/book/title
试一试»

选择第一本书的书名

以下示例选择书店元素下的第一本书节点的标题:

/bookstore/book[1]/title
试一试»

选择所有价格

下面的例子从所有价格节点的文字:

/bookstore/book/price[text()]
试一试»

与价格选择价格节点> 35

以下示例选择所有高于35一价的价格节点:

/bookstore/book[price>35]/price
试一试»

与价格选择标题节点> 35

以下示例选择所有高于35一价的标题节点:

/bookstore/book[price>35]/title
试一试»