春風博客

          春天里,百花香...

          導航

          <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.aygfsteel.com/Files/sitinspring/XPathSample20081113124739.rar

          posted on 2008-11-13 12:52 sitinspring 閱讀(2659) 評論(0)  編輯  收藏 所屬分類: Ajax

          sitinspring(http://www.aygfsteel.com)原創,轉載請注明出處.
          主站蜘蛛池模板: 永福县| 三都| 康保县| 海门市| 乐业县| 兴国县| 石泉县| 德化县| 梁平县| 寿宁县| 慈利县| 东安县| 丰都县| 格尔木市| 淳安县| 缙云县| 三明市| 长垣县| 巩义市| 武义县| 平乡县| 榆林市| 三原县| 祥云县| 唐河县| 鄂伦春自治旗| 新蔡县| 玉林市| 阿鲁科尔沁旗| 岫岩| 淮阳县| 额敏县| 凤凰县| 盐城市| 吴川市| 藁城市| 汉寿县| 渝北区| 芒康县| 酒泉市| 扶余县|