2017-01-16 38 views
0

duplicities我有以下簡單的一種XML,這裏@id是字符串:如何檢查FO使用XPath

<root> 
    <item id="a1"/> 
    <item id="a2"/> 
    <item id="b2"/> 
    <item id="a3"/> 
</root> 

我可以在XML很多項目節點(> 30000)。我想檢查的是,@id在所有元素中都是唯一的。是否可以通過XPath進行檢查(返回true/false)?如果是這樣,有人可以發佈如何 - 理想的最有效的解決方案?是否有一些運算符只返回序列中唯一的項目?

編輯: 發現自己解決自己:

count(distinct-values(//item/@id)) = count(//item/@id) 

不知道這是最有效的一種。

+0

對於一個誰downwoted這個問題 - 爲什麼你這樣做?這是相關的問題。 – kulatamicuda

+0

2小時後發現問題,我發現以下解決方案本身計數(distinct-values(// item/@ id))= count(// item/@ id),不知道它是否最有效。 – kulatamicuda

+0

我建議你發佈解決方案作爲答案並驗證它,以便人們知道問題已得到解決。 – Carele

回答

0

發現自己的溶液自己:

計數(不同值(//項目/ @ ID))=計數(//項目/ @ ID)

不知道它是最有效的一。