0

たとえば、ノードの名前、つまり文字列を返したいので、

/ MxML / trades / trade / tradeBody / * [1] / local-name()

ただし、doc.valueOfやdoc.selectSingleNode、またはその他の方法で評価しようとすると、次のエラーが発生します。

org.dom4j.InvalidXPathException:無効なXPath式:/ MxML / trades / trade / tradeBody / * [1] / local-name()予期されるノードタイプ

私はそのことわざを知っています、私はノードではなく文字列を返しています、それで私はこの文字列をどのように要求しますか?

ありがとう。

4

1 に答える 1

2

JAXPで動作しますか?その表現は私には大丈夫に見えません。local-name()はノードステップではありません。

これはdom4jで問題ありません:

    Document doc = DocumentHelper
            .parseText("<x:fish xmlns:x='42'>Goodbye, and thanks for all the fish</x:fish>");
    XPath xpath = new DefaultXPath("local-name(/*[1])");
    Object result = xpath.evaluate(doc);
    System.out.printf("Type: %s, Value: %s\n", result.getClass()
            .getSimpleName(), result);

プリント

Type: String, Value: fish

于 2012-07-07T23:37:21.120 に答える