XPath示例
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。
XPath例程下載:
http://www.aygfsteel.com/Files/sitinspring/XPathSample20081113124739.rar
posted on 2008-11-13 12:52 sitinspring 閱讀(2655) 評論(0) 編輯 收藏 所屬分類: Ajax