XPath查询以将属性值与集合进行匹配

时间:2018-12-06 14:01:27

标签: xml xpath

例如,如果我有以下xml

<root>
    <actors>
        <actor id="1">Christian Bale</actor>
        <actor id="2">Liam Neeson</actor>
        <actor id="3">Michael Caine</actor>
        <actor id="4">Sylvester Stallone</actor>
    </actors>
</root>

以及一个值为(1,2,4)的过滤器列表。我该如何编写XPath查询来选择所有id都在过滤器列表中的actor?

我正在寻找一种将属性值与列表进行匹配的方法。我知道您可以通过例如//root/actors/actor[@id<3]来给我所有id值小于3的演员,或者//root/actors/actor[@id=1 or @id=3]来给id为1或3的演员。但是随着时间的流逝,它很快就会失去控制列表。是否有运算符可与值列表进行比较?

1 个答案:

答案 0 :(得分:1)

如果您使用的是XPath 2.0,则可以使用

/root/actors/actor[@id=(1, 2, 4)]