收藏718
分享
阅读718
更新时间2025-07-30
我们将在下面的例子中使用这个 XML 文档:
Everyday Italian Giada De Laurentiis 2005 30.00 Harry Potter J K. Rowling 2005 29.99 XQuery Kick Start James McGovern Per Bothner Kurt Cagle James Linn Vaidyanathan Nagarajan 2003 49.99 Learning XML Erik T. Ray 2003 39.95
在您的浏览器中查看此 "books.xml" 文件。
所有现代浏览器都支持使用 XMLHttpRequest 来加载 XML 文档的方法。
针对大多数现代浏览器的代码:
var xmlhttp=new XMLHttpRequest()
针对古老的微软浏览器(IE 5 和 6)的代码:
var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
不幸的是,Internet Explorer 和其他处理 XPath 的方式不同。
在我们的例子中,包含适用于大多数主流浏览器的代码。
Internet Explorer 使用 selectNodes() 方法从 XML 文档中的选取节点:
xmlDoc.selectNodes(xpath);
Firefox、Chrome、Opera 以及 Safari 使用 evaluate() 方法从 XML 文档中选取节点:
xmlDoc.evaluate(xpath, xmlDoc, null, XPathResult.ANY_TYPE,null);
下面的例子选取所有 title 节点:
/bookstore/book/title运行实例 »
点击 "运行实例" 按钮查看在线实例
下面的例子选取 bookstore 元素下面的第一个 book 节点的 title:
/bookstore/book[1]/title运行实例 »
点击 "运行实例" 按钮查看在线实例
这里有一个问题。上面的例子在 IE 和其他浏览器中输出不同的结果。
IE5 以及更高版本将 [0] 视为第一个节点,而根据 W3C 的标准,应该是 [1]。
为了解决 IE5+ 中 [0] 和 [1] 的问题,可以为 XPath 设置语言选择(SelectionLanguage)。
下面的例子选取 bookstore 元素下面的第一个 book 节点的 title:
xml.setProperty("SelectionLanguage","XPath");
xml.selectNodes("/bookstore/book[1]/title");
运行实例 »点击 "运行实例" 按钮查看在线实例
下面的例子选取 price 节点中的所有文本:
/bookstore/book/price/text()运行实例 »
点击 "运行实例" 按钮查看在线实例
下面的例子选取价格高于 35 的所有 price 节点:
/bookstore/book[price>35]/price运行实例 »
点击 "运行实例" 按钮查看在线实例
下面的例子选取价格高于 35 的所有 title 节点:
/bookstore/book[price>35]/title运行实例 »
点击 "运行实例" 按钮查看在线实例
相关
视频
RELATED VIDEOS
科技资讯
1
2
3
4
5
6
7
8
9
精选课程
共5课时
17.2万人学习
共49课时
77万人学习
共29课时
61.7万人学习
共25课时
39.3万人学习
共43课时
71万人学习
共25课时
61.6万人学习
共22课时
23万人学习
共28课时
33.9万人学习
共89课时
125万人学习