2010-11-16 67 views
17

一个简单的问题需要一个简单的答案。java中用什么简单的方法来评估字符串上的xpath并返回结果字符串

例如:

String xml = "<car><manufacturer>toyota</manufacturer></car>"; 
String xpath = "/car/manufacturer"; 
assertEquals("toyota",evaluate(xml, xpath)); 

我怎么能写简单和可读的方式,将任何给定的格式良好的XML和XPath工作评估方法。

显然有很多方法可以实现,但大多数看起来很冗长。

我很想念任何简单的方法/可以实现这个目标的库吗?

对于多个节点返回的情况,我只想要这个字符串表示形式。

回答

36

在这里,你走了,下面就可以与Java SE来完成:

import java.io.StringReader; 
import javax.xml.xpath.XPath; 
import javax.xml.xpath.XPathFactory; 
import org.xml.sax.InputSource; 

public class Demo { 

    public static void main(String[] args) throws Exception { 
     String xml = "<car><manufacturer>toyota</manufacturer></car>"; 
     String xpath = "/car/manufacturer"; 
     XPath xPath = XPathFactory.newInstance().newXPath(); 
     assertEquals("toyota",xPath.evaluate(xpath, new InputSource(new StringReader(xml)))); 
    } 

} 
相关问题