我在獲取也具有特定屬性的元素(基於名稱)的唯一列表時遇到了一些問題。我可以得到其中任何一個的列表,但綜合列表是什麼讓我絆倒。我的XML看起來是這樣的:XPath用於選擇具有Xpath 2.0特定屬性的元素的唯一列表
<global>
<discipline name="tracks">
<group name="Normal"/>
<group name="Gloss" PackGroup="Diffuse"/>
<group name="Mask"/>
<group name="Diffuse"/>
<group name="Tint" PackGroup="Gloss"/>
</discipline>
<discipline name="trains">
<group name="Mask"/>
<group name="Diffuse" PackGroup="Mask"/>
</discipline>
</global>
我可以很輕鬆地使用此XPath查詢得到族元素的獨特列表:
/configuration/global/discipline/group[not(@name = following::group/@name)]
並獲得定義有PackGroup屬性組元素的列表是微不足道以及:
/configuration/global/discipline/group[@PackGroup]
但是,我似乎無法得到PackGroup屬性定義的元素的唯一列表。我已經試過這樣:
/configuration/global/discipline/group[not(@name = following::group/@name) and @PackGroup]
/configuration/global/discipline/group[not(@name = following::group/@name) and contains(@PackGroup, '*')]
它不返回元素和
/configuration/global/discipline/group[not(@name = following::group/@name) and contains(@PackGroup, '')]
返回剛纔的唯一列表。有誰知道什麼是正確的XPath查詢是爲了得到我在找什麼?
謝謝(我在C#和的情況下,XPath 2.0中的事項工作)!
完美,感謝LarsH! – user1200340