選擇第一個結果我看這個問題:Select first instance only with XPath?XPath中
但是,如果我有一個節點集是這樣的:
<container value="">
<data id="1"></data>
<data id="2">test</data>
<container>
<data id="1">test</data>
<data id="3">test</data>
</container>
</container>
現在我的情況是,這個節點集是深在文檔中,我有一個指向內部容器的指針。所以我必須在我的XPath前面加上「/ container/container」(路徑實際上更長,但是對於這個例子應該這樣做)。
編輯: 我想要的是一個id爲1的「數據」節點,它應該來自最低節點的第一個或最近的祖先。因此,如果我無法在「當前」(/容器/容器)上找到它,我應該查看祖先並獲取最近的一個(或者最終找不到任何東西)。我曾嘗試這樣的:
/容器/容器/祖先或自::容器/數據[@ ID = 「1」]
這使背面具有兩個節點的結果集。我以爲我可以用last()來獲得最深的那個,所以我在最後加上了這個,但無濟於事。
說明書可以更清楚做。你想要數據節點?數據節點必須具有1的ID?如果數據節點的ID不是1,則想要將文檔向上移動到父容器,以查看該數據節點是否具有ID爲1的數據節點,如果不一直持續直到具有ID的數據節點找到1。這是否描述了它? – AnthonyWJones 2009-05-21 12:01:05
我試圖描述我在尋找更清晰的東西,儘管有些人猜測它。抱歉! – 2009-05-21 12:43:05