wangxg  

 

一,问题出现经过:

   j基于java语言webservic服务端接收客户端 传来的xml字符串用 解析时总报:org.dom4j.DocumentException: Error on line 1 of document  : 前言中不允许有内容。 Nested exception: 前言中不允许有内容。 

 

 xml字符串格式为:

二,问题原因:

   通过图片可发现,XML文件格式、内容都没有错误,百度问题原因都说是编码问题,

   经过排查问题发现xml中指定的编码格式为utf-8,而客户端给传过来的数据格式却是gbk格式

三,解决方式:

    将该xml字符串 重新编码,new String(text.getBytes("gbk"),"utf-8");再解析则问题解除

四,反思:

  此处是解析xml字符串,解析xml文件同理,如果文件格式和文件内指定编码不一致时也会报此类型错误,此时只需要用类似notepad++工具把文件类型统  一即可。

另外执行ant编译的程序时,如直接在编译后的程序中修改配置xml文件时执行时,也见过报这种错误,只需要重新编译一下改配置xml文件则错误消失,这种情况不是很常见,在这里记录一下。

 

posted on 2018-03-29 16:34  wangxg  阅读(10826)  评论(0编辑  收藏  举报