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 回答