我正在尋找正確的xpath表達式來選擇所有節點的最近的祖先具有適當的屬性值,而不是選擇那些最近的祖先具有明確的'不選擇'屬性值。可視化解釋:對於每個分支,按照它的路徑到達根,並且在遇到某個屬性時第一次應該決定它是否在選擇中。xpath讓最近的祖先的屬性值決定它是否在
<xyz select="yes">
<blabla>this one's in</blabla>
<qwerty select="no">this one's out
<foobar>out please!</foobar>
<gettingoutofnames select="yes">in again!</gettingoutofnames>
</qwerty>
</xyz>
示例可以發生在XML結構的任何地方。
元素的名稱可以是任何東西。 'select =「yes」'和'select =「no」'可以按照任何順序進行,但最深的是決定性的後代。
我想是這樣的:
//*[@select="yes"]//ancestor::*[not(@select="no")]
但是,這並不趕上這一切。任何幫助表示讚賞!
這就是我一直在尋找的!非常尊重!在寫這篇文章的時候,我需要一個解決我的問題的快速解決方案,所以最後我解決了一個解決方法。這是關於需要翻譯的字符串的過濾。但是,由於此翻譯仍在進行中,我可以使用您的解決方案。謝謝! – 2013-02-27 09:39:38