一,问题出现经过:

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

 

 xml字符串格式为:

解析xml字符串时报“前言中不允许有内容”错误。

二,问题原因:

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

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

三,解决方式:

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

四,反思:

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

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

 

相关文章:

  • 2021-07-23
  • 2021-10-31
  • 2022-12-23
  • 2022-12-23
  • 2022-01-04
  • 2021-11-27
  • 2021-04-26
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-02-25
  • 2022-12-23
  • 2022-12-23
  • 2021-11-16
  • 2020-06-13
  • 2021-07-10
相关资源
相似解决方案