我正在使用saxon lib 9.3进行XPath evluation
以下代码返回TinyElementImpl实例的列表 -
XPathEvaluator evaluator = new XPathEvaluator();
XPathExpression exp = evaluator.createExpression("//a[matches(.,'#...#')]");
List<Object> result = exp.evaluate(domSource);
以前的版本支持评估方法,例如返回NodeSet
exp.evaluate(domSource,XPathConstants.NODESET)
saxon 9.3 lib中是否有任何等效物?
答案 0 :(得分:0)
抱歉,我错过了这个问题。如果您想确保获得撒克逊问题的答案,请在SourceForge的saxon-help邮件列表或论坛上询问。
如果您的XPathEvaluator是net.sf.saxon.xpath.XPathEvaluator,则此方法仍然存在于9.3中。也许您错误地实例化了net.sf.saxon.sxpath.XPathEvaluator?
这里的另一个困惑是我会想象domSource是DOMSource的一个实例,但事实就是如此,我希望结果包含DOM节点而不是Saxon TinyTree节点。这里的困难在于你没有展示足够的代码。
如果你想从Saxon的XPath处理器中获得最好的结果,我建议使用s9api接口而不是JAXP接口,它非常关注DOM和XPath 1.0。