2012-01-13 67 views
1

我使用這個XPath查詢選擇XML節點n次:使用XPath

xpath.compile("/TEI.2/text/body/div/entry/sense/cit/quote[text()="malta"]") 

我想獲得含有「馬耳他」第二屆「引用」節點。我怎樣才能做到這一點?

我曾嘗試:

xpath.compile("/TEI.2/text/body/div/entry/sense/cit/quote[text()="malta" and position()=2]")

以及

xpath.compile("/TEI.2/text/body/div/entry/sense/cit/quote[text()="malta"][2]") 

這些給我一個空的結果,但是我敢肯定有第二個節點。

謝謝!

+0

您可以提供XML? – Treemonkey 2012-01-13 11:19:47

+0

你的第三個查詢應該可以工作。 – 2012-01-13 11:22:08

+0

第三個不起作用,我剛剛再試一次。而關於XML,我不能把它放在這裏。 – 2012-01-13 11:25:30

回答

1

解決它。

我收到最終[2]

即以括號添加到表達式

xpath.compile("(/TEI.2/text/body/div/entry/sense/cit/quote[text()="malta"])[2]") 

謝謝!

+0

Krt_Malta,括弧只需要如果XPath''//僞運營商使用 - 這在你的XPath表達式不被使用。因此,無論是誤導讀者,還是實際上擁有不同的XPath表達式,或者您使用的XPath引擎都不是兼容的XPAth實現。 – 2012-01-13 14:45:05