如何获得NODESET的评估()XPathExpression的方法 - 为撒克逊9.3 LIB

问题描述:

我使用撒克逊LIB 9.3的XPath evluation如何获得NODESET的评估()XPathExpression的方法 - 为撒克逊9.3 LIB

下面的代码返回TinyElementImpl实例列表 -

XPathEvaluator evaluator = new XPathEvaluator(); 
XPathExpression exp = evaluator.createExpression("//a[matches(.,'#...#')]"); 
List<Object> result = exp.evaluate(domSource); 

以前的版本支持评估方法返回一个节点集

exp.evaluate(domSource,XPathConstants.NODESET) 

在撒克逊9.3 lib中是否有任何等价物?

对不起,我错过了这个问题。如果您想确定是否能够获得有关撒克逊问题的答案,请在SourceForge的撒克逊帮助邮件列表或论坛上提问。

如果您的XPathEvaluator是net.sf.saxon.xpath.XPathEvaluator,那么此方法仍存在于9.3中。也许你错误地实例化了一个net.sf.saxon.sxpath.XPathEvaluator?

这里的另一个困惑是,我会想象domSource是DOMSource的一个实例,但它是这种情况,那么我希望结果包括DOM节点而不是撒克逊TinyTree节点。这里的困难在于你没有显示足够的代码。

如果你想从Saxon的XPath处理器中获得最好的结果,我建议使用s9api接口而不是JAXP接口,它非常专注于DOM和XPath 1.0。