我正在處理文檔中的節點列表,一次一個節點。如何在主文檔中找到一個屬性值等於當前所選節點屬性值的節點
在該處理過程中,我需要使用正在處理的節點的本地屬性的值從更寬的文檔中選擇節點。
我希望在單個XPath中表達這一點。
如果我第一次得到本地屬性值,我可以將它插入到xpath中,但我不希望這樣做,因爲我希望Xpath是自包含的。
以下文檔是一種結構類型的示例,但僅供說明。
<root>
<pageGenre>
<page ref="attvalue1"/>
<genre>horror</genre>
</pageGenre>
<pageGenre>
<page ref="attvalue1"/>
<genre>thriller</genre>
</pageGenre>
<pageGenre>
<page ref="attvalue2"/>
<genre>cooking</genre>
</pageGenre>
<book att="attvalue1">
<author>Lovecraft</author>
</book>
<book att="attvalue2">
<author>E.E. Smith</author>
</book>
</root>
我第一次從文檔中找到我的節點列表有:
.//book
然後對每本書節點,我使用節點然後得到的att
./@att
它每次都有效。
我想要做的就是通過單個Xpath獲取本書的所有頁面風格。
我曾嘗試:
// pageGenre /頁[@ref = ./@att]/../genre
這是不行的,來了空白。
如果我使用
[@ref = // @ ATT]
我剛剛得到的所有類型的所有書att
S上的文件內。
如果我首先解決./@att
值然後編寫我的Xpath,它工作正常,但我不想「知道」這需要完成,因爲我希望XPath的列表在沒有任何特殊的情況下運行使用通用調度程序的案例。
我也嘗試過self::/@att
,但這和./@att
一樣,正如人們所期望的那樣。
任何想法非常感謝。
,所以你要選擇的''''具有ref屬性值等於..?請繼續判刑。我不能清楚地瞭解你正在嘗試從XML –
har07
得到我想要有等於當前book節點的ATT ref屬性值來選擇的。 –
因爲書節點在不同的樹,我不能讓你通過*當前圖書節點*的意思是什麼(很顯然,如果''節點在同一棵樹作爲'')。通過修復xml結構順利移動。 –
har07