首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SAXParseException:文件的过早结束

SAXParseException:文件的过早结束
EN

Stack Overflow用户
提问于 2013-08-07 07:54:15
回答 1查看 4.4K关注 0票数 0

我的Google驱动器上有一个XML文件。它有一些数据是我的Android应用程序运行所需要的。因此,我决定测试是否可以从文件中获取数据,并做了一个测试SAXParser。然而,我得到了一个SAXParseException

代码语言:javascript
复制
org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Premature end of file.
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(Unknown Source)
    at testing.TestSAX.processFeed(TestSAX.java:54)
    at testing.TestSAX.main(TestSAX.java:40)  

虽然,这同样的代码可以正常工作,比如RSS提要,但它会导致Google驱动器文件崩溃。

下面是我打开这条小溪的方式:

代码语言:javascript
复制
try{
            SAXParserFactory factory = SAXParserFactory.newInstance();
            SAXParser parser = factory.newSAXParser();

            InputStream stream = new URL(url).openStream();
            Reader r = new InputStreamReader(stream,"UTF-8");
            InputSource source = new InputSource(stream);
            source.setEncoding("UTF-8");

            parser.parse(source, this);
        }catch(Exception e){
            errorOccured = true;
            e.printStackTrace();
        }  

如何解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2013-08-07 08:08:58

您的InputStream有一些问题,请仔细阅读:http://www.danielschneller.com/2008/01/saxparseexception-1-1-premature-end-of.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18097698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档