這個博客中有一系列的例子,不只有child的例子:http://www.cnblogs.com/zhaozhan/archive/2009/09/10/1563723.html
html
XPath 是一門在 XML 文檔中查找信息的語言。XPath 可用來在 XML 文檔中對元素和屬性進行遍歷。字體
XPath 是 W3C XSLT 標準的主要元素,而且 XQuery 和 XPointer 同時被構建於 XPath 表達之上。網站
推薦一個挺不錯的網站:http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html 裏面有很不錯的例子,下面的例子中紅色字體表示使用對應語法獲取的元素(或屬性)。spa
XPath軸(XPath Axes)可定義某個相對於當前節點的節點集:htm
一、child 選取當前節點的全部子元素blog
二、parent 選取當前節點的父節點element
三、descendant 選取當前節點的全部後代元素(子、孫等)文檔
四、ancestor 選取當前節點的全部先輩(父、祖父等)get
五、descendant-or-self 選取當前節點的全部後代元素(子、孫等)以及當前節點自己博客
六、ancestor-or-self 選取當前節點的全部先輩(父、祖父等)以及當前節點自己
七、preceding-sibling 選取當前節點以前的全部同級節點
八、following-sibling 選取當前節點以後的全部同級節點
九、preceding 選取文檔中當前節點的開始標籤以前的全部節點
十、following 選取文檔中當前節點的結束標籤以後的全部節點
十一、self 選取當前節點
十二、attribute 選取當前節點的全部屬性
1三、namespace 選取當前節點的全部命名空間節點
parent軸是選取當前節點父節點,下面看簡單示例:
//DDD/parent::* 獲取全部節點DDD的父節點
<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
/AAA/BBB/parent::* 獲得根節點AAA,這樣寫在實際中沒有意義。【 若是BBB後面跟了謂詞就有意義了,這種狀況是:存在多個BBB節點,但咱們想找到某個BBB節點的父節點 】
<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
/AAA/parent::* 根節點沒法獲取到parent
<AAA>
<BBB>
<DDD>
<CCC>
<DDD/>
<EEE/>
</CCC>
</DDD>
</BBB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>