2010-11-16 63 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)))); 
    } 

} 
相關問題