给定 XML 实例:
<fruits>
<fruit>Apple</fruit>
<fruit>Orange</fruit>
<fruit>Banana</fruit>
</fruits>
我正在使用循环:
XPathExpression expr = xpath.compile("/fruits/fruit/text()");
NodeList nodes = (NodeList) expr.evaluate(doc, XPathConstants.NODESET);
for (int i = 0 ; i < nodes.getLength() ; i++)
System.out.println(nodes.item(i).getNodeValue());
打印水果名称列表。有什么方法可以lower-case
在外部 XPath 表达式中使用,以便名称在返回的序列中已经小写?我不想使用String
toLowerCase()
Java 方法或lower-case()
在每个项目上调用函数,如下所示:
System.out.println(xpath.compile("lower-case(.)").evaluate(nodes.item(i)));
...有没有一种方法可以在一个 XPath 表达式中实现这一点,外循环只评估一次?
我的Ivy文件中有以下 Saxon 依赖项,因此我还可以访问 XPath 2.0 功能:
<dependency org="net.sf.saxon" name="Saxon-HE" rev="9.4"/>