我有以下 XML 文档:
<application xmlns="http://www.example.com/schemas/app-config/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.example.com/schemas/app-config/1.0 http://www.example.com/schemas/app-config/1.0/app-config-1.0.xsd">
<info name="Dummy Application" runningOn="Dev"/>
</application>
当我运行以下代码时:
XPathFactory factory = XPathFactory.newInstance();
XPath xpath = factory.newXPath();
XPathExpression expr = xpath.compile("/application/info@name");
我在 compile
方法上收到 XPathExpressionException
。异常的消息只是“null
”。看起来我正确地使用 XPath 来定位 name
属性,但我想知道我的所有 XMLNS 和 XSI 声明是否都导致了问题?如果不是,那么我完全无能为力,也不知道是什么导致了这个异常。
有一件事 - 在我将 xpath
实例与我的实际 Document
对象关联之前,compile
怎么会失败?!?
最佳答案
compile 方法抛出异常,因为您的 XPath 表达式无效。您可能想使用“/application/info/@name”
。
关于Java Xpath 查询编译失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10882709/