java.lang.NullPointerException。。是否与xml文件结构相关?
我被以下运行时错误卡住了。我正在运行读取xml文件作为输入的代码,这是代码:。 XML:java.lang.NullPointerException。。是否与xml文件结构相关?,java,Java,我被以下运行时错误卡住了。我正在运行读取xml文件作为输入的代码,这是代码:。 XML: 当解析器配置设置为创建QueryDoc时,尝试将返回的对象强制转换为QueryPerformer时,您确定正确吗?此外,您传递到addSetNext的方法似乎引用的是QueryPerformer中的方法,而不是QueryDoc,这似乎也是stacktrace所指向的。您的XML文件似乎没有问题。必须是文件访问或消化器配置的问题。是的,看起来像是配置问题。发布您的digester配置和您试图弹出的bean类。
当解析器配置设置为创建QueryDoc时,尝试将返回的对象强制转换为QueryPerformer时,您确定正确吗?此外,您传递到addSetNext的方法似乎引用的是QueryPerformer中的方法,而不是QueryDoc,这似乎也是stacktrace所指向的。您的XML文件似乎没有问题。必须是文件访问或消化器配置的问题。是的,看起来像是配置问题。发布您的digester配置和您试图弹出的bean类。作为猜测,我想说您的配置引用了您的bean类的一个不存在的属性(尽管我希望在这种情况下会看到一个更具描述性的错误)。@Mark Peters@relef谢谢,我已经使用digester在同一环境中用另一个类解析了另一个xml文件,它工作得非常好。我没有设置任何摘要配置,只是在类路径中包含了jar文件。
Feb 28, 2011 4:07:29 PM org.apache.commons.digester.Digester peek
WARNING: Empty stack (returning null)
Feb 28, 2011 4:07:29 PM org.apache.commons.digester.Digester endElement
SEVERE: End event threw exception
java.lang.NullPointerException
at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:209)
at org.apache.commons.digester.SetNextRule.end(SetNextRule.java:220)
at org.apache.commons.digester.Rule.end(Rule.java:257)
at org.apache.commons.digester.Digester.endElement(Digester.java:1345)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:601)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1782)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2938)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at org.apache.commons.digester.Digester.parse(Digester.java:1871)
at QueryPerformer.main(QueryPerformer.java:127)
Exception in thread "main" java.lang.NullPointerException
at org.apache.commons.digester.Digester.createSAXException(Digester.java:3363)
at org.apache.commons.digester.Digester.createSAXException(Digester.java:3389)
at org.apache.commons.digester.Digester.endElement(Digester.java:1348)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:601)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1782)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2938)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at org.apache.commons.digester.Digester.parse(Digester.java:1871)
at QueryPerformer.main(QueryPerformer.java:127)
Caused by: java.lang.NullPointerException
at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:209)
at org.apache.commons.digester.SetNextRule.end(SetNextRule.java:220)
at org.apache.commons.digester.Rule.end(Rule.java:257)
at org.apache.commons.digester.Digester.endElement(Digester.java:1345)
... 12 more