1

Saxon 9.5 HE Java ライブラリを使用して、XML ドキュメントでいくつかの XPaths クエリを作成しようとしています。net.sf.saxon.xpath.XPathEvaluator を使用してクエリを作成し、XML ドキュメントからすべての本のタイトルを取得したいと考えました。残念ながら、私は最初のタイトルしか取得できません。ここに私のサンプルコードがあります:

public static void main(String[] args) 
{
    try
    {           
        InputSource is = new InputSource(new File("books.xml").toURI().toURL().toString());
        String x = new XPathEvaluator().evaluate("//book/title", is);

        System.out.println(x);  
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }
}

よろしくお願いします:)

4

2 に答える 2

1

XPathEvaluatorあれはどちらJAXPですか?ノードのセットを返す XPath 式を評価した文字列結果が、最初に選択されたノードの文字列値を返す XPath 1.0 セマンティクスを実装していると思います。ノード セットを評価するか、XPath を使用する必要があります"string-join(//book/title, ', ')"

文字列値のシーケンスが必要な場合は、http://www.saxonica.com/html/documentation/javadoc/net/sf/saxon/sxpath/XPathEvaluator.htmlを使用できますが、そのドキュメントでは推奨される方法を使用することを示唆していますhttp://www.saxonica.com/html/documentation/javadoc/net/sf/saxon/s9api/XPathCompiler.htmls9apiを使用します。

于 2013-05-31T10:09:22.110 に答える