假设我有以下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元素中。

10-06 03:08