解析xml字符串时报“前⾔中不允许有内容”错误。
⼀,问题出现经过:
j基于java语⾔webservic服务端接收客户端传来的xml字符串⽤解析时总
报:org.dom4j.DocumentException: Error on line 1 of document : 前⾔中不允许有内容。 Nested exception: 前⾔中不允许有内容。
xml字符串格式为:
⼆,问题原因:
通过图⽚可发现,XML⽂件格式、内容都没有错误,百度问题原因都说是编码问题,
经过排查问题发现xml中指定的编码格式为utf-8,⽽客户端给传过来的数据格式却是gbk格式
三,解决⽅式:
将该xml字符串重新编码,new Bytes("gbk"),"utf-8");再解析则问题解除
四,反思:
此处是解析xml字符串,解析xml⽂件同理,如果⽂件格式和⽂件内指定编码不⼀致时也会报此类型错误,此时只需要⽤类似notepad++⼯具把⽂件类型统⼀即可。
使用dom4j解析xml文件另外执⾏ant编译的程序时,如直接在编译后的程序中修改配置xml⽂件时执⾏时,也见过报这种错误,只需要重新编译⼀下改配置xml⽂件则错误消失,这种情况不是很常见,在这⾥记录⼀下。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论