我正在嘗試遍歷可能嵌套的XML文檔中的一些元素,但是當我遍歷它們時,我可能會從樹中刪除一些元素。我在考慮最好的方法是遞歸執行此操作,所以我試圖創建一個XPath查詢來選擇所有相對於當前節點的頂級節點。 // foo [not(ancestor :: foo)]在文檔級別上效果很好,但我試圖弄清楚如何從相對查詢中做到這一點。XPath查詢 - 選擇相關的頂級節點
<foo id="1">
<foo id="2" />
<foo id="3">
<foo id="4">
<bar>
<foo id="5">
<foo id="6" />
</foo>
<foo id="7" />
</bar>
</foo>
</foo>
</foo>
如果當前節點是foo#3,我只想選擇foo#4。當前節點是foo#4時,我只想選擇foo#5和foo#7。
我想我試圖選擇當前節點的任何後代foo節點,但沒有任何祖先節點之間的當前節點和我選擇的節點之間。我的難題是,如果我們已經在foo節點中,而不是(ancestor :: foo)不起作用。
你有沒有得到一個答案呢? – 2012-12-29 06:06:51
我想我找到了一個不同的解決方案。我一直沒有在這個項目上一年多,所以不知道我最終做了什麼...... – John 2013-02-15 19:01:29