dom4j解析XML报错:Error on line -1 of document : Premature end of file.

leo918 2008-07-14 04:55:42
用dom4j解析XML了遇到了这个问题,上网查阅了许久也没找到原因所在,希望大家能帮个忙。

解析前打印出来的XML:

<?xml version="1.0" encoding="UTF-8"?><FounderEnpML> <Article> <Content> <![CDATA[ 剧照与《橘子红了》很像陈坤饰余子鲲夏荷(周迅饰)与青梅竹马的恋人余子鹏(吴军饰)  导演李少红、监制曾念平、主演周迅,这个有点家庭式的组合曾经推出过《人间四月天》《橘子红了》等脍炙人口的电视作品。明天晚上,由这个组合再次联手的一部作品《买办之家》将在中国教育电视台三套黄金时间与观众见面。同样的班底、剧情又依然以民国时期的大家族为背景,业内看好其有望续写《橘子红了》的辉煌。  故事:  “天津百年三部曲”第一部  电视剧《买办之家》取材于著名作家林希的同名长篇小说,是林希“天津百年三部曲”的第一部。  信报记者任嫣 ]]> </Content> <DocID>1</DocID> <Category><![CDATA[ ]]></Category> <Subtitle><![CDATA[ ]]></Subtitle> <Keyword><![CDATA[ ]]></Keyword> <simID></simID> </Article></FounderEnpML>

以流的方式传入saxReader.read(),报如下错误:
org.dom4j.DocumentException: Error on line -1 of document : Premature end of file. Nested exception: Premature end of file.
at org.dom4j.io.SAXReader.read(SAXReader.java:355)
at org.dom4j.io.SAXReader.read(SAXReader.java:271)

...全文
24937 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yonghong89211 2011-12-02
  • 打赏
  • 举报
回复
你换一种方法解析xml就不会有这个异常了,我也碰到过。
用下面的解析方式:
//SAXReader saxReader = new SAXReader();
//Document document = DocumentHelper.parseText(MO);
//Document document = saxReader.read(request.getReader());
String inputString = "";
BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream()));
String line = null;
while((line=br.readLine())!=null){
inputString += line;
}
br.close();
System.out.println("MONTH FEE XML MO:"+inputString);
Document document = DocumentHelper.parseText(inputString);
Element root = document.getRootElement();
AmirLea 2011-04-01
  • 打赏
  • 举报
回复
什么是UE? 我也遇到问题,但是将文件保存为ANSI格式,则不会报错。问题是,这样的话,该文件用XML Editor查看时有错误提示出现。此事两难全,但愿......。
远方夕阳 2010-10-25
  • 打赏
  • 举报
回复
楼主解决了吗
qq278095755 2008-07-23
  • 打赏
  • 举报
回复
楼主问题解决了么?
我今天也遇到这样的问题,困惑.请高人解答.
如果有人解决问题,我另开贴100分...谢谢...
leadergg 2008-07-16
  • 打赏
  • 举报
回复 1
编码问题

你在eclipse里面新建一个xml文件
把这些复制进去可以解决这个问题

原因:
你如果是用UE、记事本等工具来写XML,虽然保存的编码是UTF-8,但是会在文件的第一行加入一些信息(具体是什么信息,我不清楚。应该是关于文件编码的信息),所以报第一行出错。

你可以用UE的二进制打开原文件和eclipse建的文件,看看二者的编码,应该在第一行是不同的。
  • 打赏
  • 举报
回复
study


嘿嘿

67,543

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧