Javaで文字列のXPathを評価し、結果の文字列を返す簡単な方法は何ですか?質問する

Javaで文字列のXPathを評価し、結果の文字列を返す簡単な方法は何ですか?質問する

簡単な質問には簡単な答えが必要です。

例えば:

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

任意の整形式の XML および XPath で機能する、シンプルで読みやすい方法で、evaluate メソッドを記述するにはどうすればよいですか。

明らかに、これを実現する方法は多数ありますが、そのほとんどは非常に冗長なようです。

これを実現できる簡単な方法やライブラリはありますか?

複数のノードが返される場合は、これの文字列表現だけが必要です。

ベストアンサー1

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))));
    }

}

おすすめ記事