xpath jquery
XML是一种受支持的Internet标准,用于对结构化数据进行编码,这种方式几乎可以通过任何编程语言轻松解码,甚至可以由人类使用标准文本编辑器来读取或编写。 许多应用程序,尤其是符合现代标准的Web浏览器,都可以直接处理XML数据。
XPath(XML路径语言)是一种功能强大的查询语言,用于选择XML文档中的节点。 XPath标准的1.0版以各种语言(例如Java™,C#和JavaScript)广泛实现。
jQuery是事实上的标准跨浏览器JavaScript库,用于选择和操作XHTML文档(以及通过Ajax加载的XML文档)中的节点。 它已被许多知名公司采用,包括Google,IBM®,Microsoft®和Twitter。 在撰写本文时,它的当前版本是1.4。 因此,我立即升级以利用承诺的更高速度。 请注意,本文中的jQuery示例应与jQuery 1.3.2(以前的版本)保持不变。
当JavaScript中存在XPath时,为什么要使用jQuery?
如果XPath是W3C标准,并且实现存在于JavaScript中,为什么还要麻烦地使用jQuery?
XPath是一种通用的XML标准,而jQuery是一个轻量级的库,旨在处理复杂的跨浏览器兼容性,因此您不必担心用户在运行哪个浏览器。 它具有足够的灵活性,可以使用标准JavaScript习惯用法在浏览器的DOM中工作,并且它提供了使Web应用程序开发不那么痛苦的附加功能,例如强大的Ajax和动画支持。
但是,您应该始终使用正确的工具来完成当前的工作。 充分了解这两个工具肯定会帮助您为下一个项目选择正确的技术。
这个例子
在本文中,您将回顾一个方便的示例XML文档,您可以在清单1中找到该文档。 这本书的清单包含各种信息,例如作者,完全虚构的价格和书名。
清单1.一个示例XML文档(book.xml)
<?xml version="1.0" encoding="utf-8"?>
<catalog>
<book format="trade">
<name>Jennifer Government</name>
<author>Max Barry</author>
<price curr="CAD">15.00</price>
<price curr="USD">12.00</price>
</book>
<book format="textbook">
<name>Unity Game Development Essentials</name>
<author>Will Goldstone</author>
<price curr="CAD">52.00</price>
<price curr="USD">45.00</price>
</book>
<book format="textbook">
<name>UNIX Visual QuickPro</name>
<author>Chris Herborth</author>
<price curr="CAD">15.00</price>
<price curr="USD">10.00</price>
</book>
</catalog>
请注意,我与作者和/或发布者没有任何隶属关系,唯一的区别是在那里。 价格完全是虚构的,您应该检查自己喜欢的书店的实际价格。
XPath假设
对于本文中的XPath代码,您将做出以下假设:
- 您已经将book.xml文件( 清单1中的文件)加载为XPath实现可以使用的格式。
- 您从一个代表文档根目录的对象开始搜索。 即,具有<catalog>元素作为其子对象的对象。 您将之称为
root
因为它是XML文档层次结构的根。
因为在这么多不同的平台上有许多XPath实现,所以您将专注于XPath语句本身,并使用类似于JavaScript的伪代码在上下文中显示它们。 检查您喜欢的开发平台的类库,以获取有关加载XML文档和可用的特定XML节点对象的信息。
jQuery假设
本文中的jQuery代码进行以下假设:
- 您正在使用最新的(版本1.4.0)jQuery代码(请参阅参考资料中的链接)。
- 您已经通过
jQuery.get()
或jQuery.post()
方法加载了book.xml文件,jQuery.get()
生成的XML文档存储在名为root
的变量中(与您的XPath示例相同)。