假设我有以下XML(实际XML的高度简化示例):
<myxml>
<cities>
<city>Amsterdam</city>
<city>London</city>
<city>Paris</city>
</cities>
<hotelLocations>
<hotelLocation>Amsterdam</hotelLocation>
<hotelLocation>Berlin</hotelLocation>
</hotelLocations>
</myxml>
现在我想知道
hotelLocation
中的值是否真的作为城市存在。我只想在一个xpath语句中这样做://hotelLocation=//city
但是,如果其中一个
hotelLocations
匹配,这将返回“true”,而我只希望它在所有hotelLocations
存在于城市实体中时返回true。知道一个xpath语句是否可以做到这一点吗?
最佳答案
相反,我只希望它是真实的,因为所有的酒店位置都存在
在城市实体中。如果可以使用一个xpath
一点口供都没有?
是的,以下xpath表达式将执行您的请求:
not(//hotelLocation[not(. = //city)])
如下所述:本文档中的
hotelLocation
元素中不应存在其字符串值不存在的city
元素。这在逻辑上等同于发出请求的语句:由hotelLocation
元素给出的所有城市也必须存在于本文档的city
元素中。