春风博客

春天里,百花香...

导航

<2008年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

统计

公告

MAIL: junglesong@gmail.com
MSN: junglesong_5@hotmail.com

Locations of visitors to this page

常用链接

留言簿(11)

随笔分类(224)

随笔档案(126)

个人软件下载

我的其它博客

我的邻居们

最新随笔

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜

XPath示例



DOM与XPath

我们可以使用DOM来解析来自服务器端的XML反馈,但返回结果比较复杂时我们必须在XML文档中一个节点一个节点的向下钻探,而使用XPath(专门用于定位匹配模式的一个或多个节点的小语言)只要一行代码就能遍历多个节点。与使用DOM相比,使用XSLT和XPath编码所投入的精力要小得多,随着应用规模的增长,后者的优势会越来越显著。

XPath简介

每个XPath表达式都有两部分:一个上下文节点和一个节点模式。上下文节点提供了节点模式起始的位置。节点模式是由一个或者多个节点组成的字符串。举例来说,有一XML文档如下:

<?xml version="1.0" encoding="GBK"?>
<members> 
  
<member name="Andy">
    
<age>25</age>
    
<title>JSE</title>
  
</member>
  
<member name="Bill">
    
<age>35</age>
    
<title>SSE</title>
  
</member>
</members>


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。


XPath例程下载:
http://www.blogjava.net/Files/sitinspring/XPathSample20081113124739.rar

posted on 2008-11-13 12:52 sitinspring 阅读(2632) 评论(0)  编辑  收藏 所属分类: Ajax


只有注册用户登录后才能发表评论。


网站导航:
 
sitinspring(http://www.blogjava.net)原创,转载请注明出处.