Xpath: return 所有符合任一条件的节点

Xpath: return all nodes that match any one of the conditions

我正在尝试使用 OR 条件从 XML 中获取两个节点作为组合结果。

XML 中 name = John 或 name="jim" 中的节点,两者都应返回。所以基本上我希望得到以下结果:

<person name="John"></person>
<person name="Jim"></person>

我试过 XPath 函数 * ///person[@name="John"] 或 ///person[@name="Jim"]*

但它只给了我一个节点。

这种情况下如何构造Xpath函数?

此致, 温基

如果我们假设 Saxon 表示支持 XPath 2 或 3 的 Saxon 9 版本,我会使用谓词 person[@name = ('John', 'Jim')]。当然 or 表达式的正确位置应该在方括号 person[@name = 'Jim' or @name = 'John'].