过早结束文件异常

时间:2011-09-14 12:40:03

标签: java parsing xhtml jsoup

我正在尝试解析现有的xhtml文件,以将其他正文内容添加到该文件中。我使用以下代码:

首先我正在阅读Jsoup中的身体,我试图将它放入XhtmlFile

Document doc = Jsoup.parse(readFile, "UTF-8");
            Elements content = doc.getElementsByTag("body");

            try {
                 Document document=null;
                DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
                // Create the builder and parse the file
                document = (Document)factory.newDocumentBuilder().parse(finalFile);
                //document.getElementsByTagName("body")append(content.toString());              
                //document=parserXML(finalFile);                
                document.getElementsByTag("body").append(content.toString());

            } catch (SAXException e) {
                System.out.println("SAXException>>>>>>");
                e.printStackTrace();
            } catch (ParserConfigurationException e) {
                System.out.println("in  parser configuration Exception block>>>>>>");
                e.printStackTrace();
            }

但我得到以下例外:

[Fatal Error] ResultParsedFile.html:1:1: Premature end of file.
org.xml.sax.SAXParseException: Premature end of file.
    at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
    at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
    at com.converter.typeconverter.EmailTypeConverter.readHTML(EmailTypeConverter.java:101)
    at com.converter.typeconverter.EmailTypeConverter.callTika(EmailTypeConverter.java:64)
    at com.converter.master.ApplicationMain.main(ApplicationMain.java:64)

请帮助我解决这个问题...

提前致谢...

4 个答案:

答案 0 :(得分:2)

如果在文件的第一个位置(1:1表示)出现此错误,则表示该文件为空。

也许你在源关闭它之前就开始阅读文件了?

如果您使用输入流(此处不是这种情况),当您重新使用已用于到达文件末尾的流时,可能会发生这种情况。您需要从输入文件创建一个新流,以便从文件的开头重置它。

答案 1 :(得分:1)

该消息表明您的XML文件格式错误。通常当我收到此消息时,我有一个没有匹配结束标记的开始标记。我想你也会在一个空文件上得到它。

答案 2 :(得分:0)

我最近遇到过这个错误,原来我的一个.hbm.xml文件被生成为空,错误是从应用程序上下文xml生成的,它指的是hbm文件

答案 3 :(得分:0)

1.xml不可读。 2.要纠正xml,只有选项是拖放到电子表格中,错误会突出显示更明确。在建议修正后,xml最终会被加载到电子表格中。然后成功加载的xml将不会遇到任何解析问题< / p>