春天里,百花香...
DOM与XPath
我们可以使用DOM来解析来自服务器端的XML反馈,但返回结果比较复杂时我们必须在XML文档中一个节点一个节点的向下钻探,而使用XPath(专门用于定位匹配模式的一个或多个节点的小语言)只要一行代码就能遍历多个节点。与使用DOM相比,使用XSLT和XPath编码所投入的精力要小得多,随着应用规模的增长,后者的优势会越来越显著。
XPath简介
每个XPath表达式都有两部分:一个上下文节点和一个节点模式。上下文节点提供了节点模式起始的位置。节点模式是由一个或者多个节点组成的字符串。举例来说,有一XML文档如下:
XPath表达式如下:member/age. 如果上下文节点是<members>,则前面的XPath表达式就匹配了<age>25</age>, <age>35</age>。在这个表达式中,member和age都表示了XML元素的标签名,按照它们在上下文节点中出现的顺序;斜杠表示从父节点到子节点的关系。这个XPath表达式表示:从<members>起,匹配位于member节点下的子节点age元素。 要选择第一个age节点,表达式要变成members/member[position()=1]/age,这里使用了XPath的position函数,它用于返回元素在父节点下的位置,每一个子节点的位置为一。 XPath中还可以匹配属性,如果要选择name=bill的member元素,XPath表达式为members/member[@name=‘Bill’]。其中@是attribute的简写。
IE对XPath的支持
XPath是一种十分强大的表达式可以令在DOM中查找指定节点变得很容易,因此IE和Mozilla都在DOM实现中引入了XPath支持。 在IE 中,通过提供selectNodes()与selectSingleNode()这样两个函数,我们就可以以类似文件路径的方式,来访问任意深度的XML数据. selectNodes()用于返回匹配某个模式的节点的集合; selectSingleNode()用于返回匹配给定模式的第一个节点。它们的具体使用请见例子:XPathSample。
posted on 2008-11-13 12:52 sitinspring 阅读(2633) 评论(0) 编辑 收藏 所属分类: Ajax
Powered by: BlogJava Copyright © sitinspring