Xpath-evaluate函数返回javax.xml.transform.TransformerException
这是我第一次使用XPath,我试图查询一个非常基本的示例Xpath-evaluate函数返回javax.xml.transform.TransformerException,java,xml,xpath,Java,Xml,Xpath,这是我第一次使用XPath,我试图查询一个非常基本的示例 String xml = "<resp><status>good</status><msg>hi</msg></resp>"; XPathFactory xpathFactory = XPathFactory.newInstance(); javax.xml.xpath.XPath xpath = xpathFactory.newXPath(
String xml = "<resp><status>good</status><msg>hi</msg></resp>";
XPathFactory xpathFactory = XPathFactory.newInstance();
javax.xml.xpath.XPath xpath = xpathFactory.newXPath();
InputSource source = new InputSource(new StringReader(xml));
String status = "";
try {
status = (String) xpath.evaluate("//resp/status", source,XPathConstants.STRING);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("status=" + status);
我收到以下例外情况:
javax.xml.transform.TransformerException:无法在上使用此上下文计算表达式
com.sun.org.apache.xpath.internal.xpath.executeUnknown源代码位于
com.sun.org.apache.xpath.internal.jaxp.XPathImpl.evalun已知源
位于com.sun.org.apache.xpath.internal.jaxp.XPathImpl.evaluateUnknown
源代码位于Heandlers.HTTP.xHTTP.java:74 at
Views.Main.mainMain.java:15原因:java.lang.RuntimeException:
无法在处使用此上下文计算表达式
com.sun.org.apache.xpath.internal.axes.NodeSequence.setRootUnknown
来源于
com.sun.org.apache.xpath.internal.axes.LocPathIterator.executeUnknown
来源还有5个
-----java.lang.RuntimeException:无法在上使用此上下文计算表达式
com.sun.org.apache.xpath.internal.axes.NodeSequence.setRootUnknown
来源于
com.sun.org.apache.xpath.internal.axes.LocPathIterator.executeUnknown
来源:com.sun.org.apache.xpath.internal.xpath.executeUnknown
来源于
com.sun.org.apache.xpath.internal.jaxp.XPathImpl.evalun已知源
位于com.sun.org.apache.xpath.internal.jaxp.XPathImpl.evaluateUnknown
源代码位于Heandlers.HTTP.xHTTP.java:74 at
Views.Main.mainMain.java:15
--------链接到------javax.xml.xpath.XPathExpressionException:
javax.xml.transform.TransformerException:无法计算
使用此上下文的表达式
com.sun.org.apache.xpath.internal.jaxp.XPathImpl.evaluateUnknown
源代码位于Heandlers.HTTP.xHTTP.java:74 at
Views.Main.mainMain.java:15由以下原因引起:
javax.xml.transform.TransformerException:无法计算
使用此上下文的表达式
com.sun.org.apache.xpath.internal.xpath.executeUnknown源代码位于
com.sun.org.apache.xpath.internal.jaxp.XPathImpl.evalun已知源
... 3其他原因:java.lang.RuntimeException:无法计算
使用此上下文的表达式
com.sun.org.apache.xpath.internal.axes.NodeSequence.setRootUnknown
来源于
com.sun.org.apache.xpath.internal.axes.LocPathIterator.executeUnknown
来源5更多状态=
有什么建议吗?听起来您使用的是无效的InputSource,例如org.w3c.css.sac.InputSource。确保已导入org.xml.sax.InputSource。在我的示例中,是导入jdk.internal.org.xml.sax.InputSource,而不是org.xml.sax.InputSource