春風博客

          春天里,百花香...

          導航

          <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 閱讀(2655) 評論(0)  編輯  收藏 所屬分類: Ajax

          sitinspring(http://www.aygfsteel.com)原創,轉載請注明出處.
          主站蜘蛛池模板: 娱乐| 忻州市| 建湖县| 阜平县| 余干县| 彩票| 偃师市| 和顺县| 汉中市| 桓仁| 通州市| 西林县| 冷水江市| 越西县| 荥经县| 东阿县| 吴忠市| 池州市| 抚远县| 隆化县| 黔南| 临桂县| 桑植县| 剑河县| 巴南区| 徐汇区| 临高县| 怀集县| 比如县| 石门县| 甘谷县| 诸暨市| 惠东县| 嘉峪关市| 濉溪县| 新野县| 新田县| 宁蒗| 沙洋县| 石林| 门头沟区|