xml xpath以匹配java中任一类型的元素

xml xpath以匹配java中任一类型的元素,java,xml,xpath,Java,Xml,Xpath,我需要匹配两种类型的元素,如何在java中使用xpath进行匹配 例如,我有 “a” 或“a” 我需要匹配e1或e2 XPathExpression expr = xpath.compile("//e1"); Object result = expr.evaluate(is, XPathConstants.NODESET);//check ((NodeList) result).getLength() 如果不匹配,我需要类似地检查e2。有没有更简单、更有效的方法,比如使用正则表达式?您可以在X

我需要匹配两种类型的元素,如何在java中使用xpath进行匹配

例如,我有
“a”
“a”

我需要匹配
e1
e2

XPathExpression expr = xpath.compile("//e1");
Object result = expr.evaluate(is, XPathConstants.NODESET);//check ((NodeList) result).getLength()

如果不匹配,我需要类似地检查
e2
。有没有更简单、更有效的方法,比如使用正则表达式?

您可以在XPath中使用'OR'运算符。 比如说

  • (/e1 |/e2)

谢谢。但是如何判断它实际匹配了哪一个呢?XPath(1.0)返回节点集或标量(数字、字符串或布尔值)。在这种情况下,节点集是选定节点的并集。如果要区分
//e1
//e2
选择,则应使用单独的表达式。