春天里,百花香...
DOM與XPath
我們可以使用DOM來解析來自服務器端的XML反饋,但返回結果比較復雜時我們必須在XML文檔中一個節(jié)點一個節(jié)點的向下鉆探,而使用XPath(專門用于定位匹配模式的一個或多個節(jié)點的小語言)只要一行代碼就能遍歷多個節(jié)點。與使用DOM相比,使用XSLT和XPath編碼所投入的精力要小得多,隨著應用規(guī)模的增長,后者的優(yōu)勢會越來越顯著。
XPath簡介
每個XPath表達式都有兩部分:一個上下文節(jié)點和一個節(jié)點模式。上下文節(jié)點提供了節(jié)點模式起始的位置。節(jié)點模式是由一個或者多個節(jié)點組成的字符串。舉例來說,有一XML文檔如下:
XPath表達式如下:member/age. 如果上下文節(jié)點是<members>,則前面的XPath表達式就匹配了<age>25</age>, <age>35</age>。在這個表達式中,member和age都表示了XML元素的標簽名,按照它們在上下文節(jié)點中出現(xiàn)的順序;斜杠表示從父節(jié)點到子節(jié)點的關系。這個XPath表達式表示:從<members>起,匹配位于member節(jié)點下的子節(jié)點age元素。 要選擇第一個age節(jié)點,表達式要變成members/member[position()=1]/age,這里使用了XPath的position函數(shù),它用于返回元素在父節(jié)點下的位置,每一個子節(jié)點的位置為一。 XPath中還可以匹配屬性,如果要選擇name=bill的member元素,XPath表達式為members/member[@name=‘Bill’]。其中@是attribute的簡寫。
IE對XPath的支持
XPath是一種十分強大的表達式可以令在DOM中查找指定節(jié)點變得很容易,因此IE和Mozilla都在DOM實現(xiàn)中引入了XPath支持。 在IE 中,通過提供selectNodes()與selectSingleNode()這樣兩個函數(shù),我們就可以以類似文件路徑的方式,來訪問任意深度的XML數(shù)據(jù). selectNodes()用于返回匹配某個模式的節(jié)點的集合; selectSingleNode()用于返回匹配給定模式的第一個節(jié)點。它們的具體使用請見例子:XPathSample。
posted on 2008-11-13 12:52 sitinspring 閱讀(2645) 評論(0) 編輯 收藏 所屬分類: Ajax
Powered by: BlogJava Copyright © sitinspring