簡単な質問には簡単な答えが必要です。
例えば:
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))));
}
}