2010-08-19 77 views

回答

8

你有什麼應該返回每個元素的第一個孩子。
所以//a[1]將工作如下(結果將是2個節點):

X 
Y 
    a <-- give you this 
    a 
Z 
a <-- and this 
a 

嘗試(//a)[1]代替

+0

+1很好的可視化解釋和簡潔的解釋。 – 2010-08-19 04:08:39

+0

[Xacobeo](http://p3rl.org/Xacobeo)可以以交互方式執行此可視化。 – daxim 2010-08-19 06:41:48

3

即XPATH表達式查找所有a元件在文檔的每一個級別和謂詞過濾器選擇每一步首先需要a

所以,這取決於你的XML是如何組織的,你可能無法得到a元素(如果有一個以上的a那名兄弟姐妹,你只會得到那些兄弟姐妹的第一個)。

但是,如果您打算在文檔中只選擇第一a,你可以使用這個表達式:(//a)[1]

纏繞在括號//a選擇創建一個集合,謂詞過濾器,然後應用,選擇集合中的第一個,而不是在//的每個步驟遇到的第一個a