2011-07-15 33 views
1

我使用撒克遜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中是否有任何等價物?

回答

0

對不起,我錯過了這個問題。如果您想確定是否能夠獲得有關撒克遜問題的答案,請在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。