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

一,问题出现经过:

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

xml字符串格式为:

2acde919684437a8d51dab70ccb19364.gif

bd7c9d8831eb9af057c2c4bbdc563166.png

二,问题原因:

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

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

三,解决方式:

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

四,反思:

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

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

使用Rome读取RSS报错,org.xml.sax.SAXParseException: 前言中不允许有内容。

这是我遇到过的最奇葩的错误 new URL的时候,使用静态变量就会报错org.xml.sax.SAXParseException: 前言中不允许有内容. URL url = new URL(Strin ...

“Nested exception: 前言中不允许有内容"错误处理

最近在做一个小项目,使用org.dom4j.DocumentHelper.parseText方法时一直报错”Nested exception: 前言中不允许有内容",这个parseText解 ...

使用spring rest插入数据库时发生了 前言中不允许有内容 错误

该错误一般是编码带来的问题,比如在请求post的时候,使用了application/x-www-form-urlencoded的content type 那么请求传过来的string则需要用urlDe ...

关于 SAXParseException Content is not allowed in Prolog (前言中不允许有内容)

解析 XML 文件的时候,如 Mybatis 的 Mapper 文件,有时会出现 org.xml.sax.SAXParseException 前言中不允许有内容 的异常,英文就是 Content is ...

SAXParseException Content is not allowed in Prolog (前言中不允许有内容)

解析 XML 文件的时候,如 Mybatis 的 Mapper 文件,有时会出现 org.xml.sax.SAXParseException 前言中不允许有内容 的异常,英文就是 Content is ...

dom4j解析xml字符串实例

DOM4J 与利用DOM.SAX.JAXP机制来解析xml相比,DOM4J 表现更优秀,具有性能优异.功能强大和极端易用使用的特点,只要懂得DOM基本概念,就可以通过dom4j的api文档来解析xml ...

C++解析XML字符串

项目交互遇到了需要VC++中解析XML字符串,故花了点时间了解了下VC++中解析XML的诸多方法主要包括三种:msxml(微软提供).markup.TinyXml. 开始花了点时间使用msxml3,虽 ...

关于xml加载提示: Error on line 1 of document : 前言中不允许有内容

我是在java中做的相关测试, 首先粘贴下报错: 读取xml配置文件:xmls\property.xml org.dom4j.DocumentException: Error on line 1 of ...

随机推荐

UNITY 移动到指定位置的写法

//move towards a target at a set speed. private void MoveTowardsTarget() { //the speed, in units per ...

ASP.NET MVC ActionFilterAttribute的执行顺序

http://diaosbook.com/Post/2014/6/3/execution-order-of-actionfilter-aspnet-mvc ASP.NET MVC里面我们要自定义Act ...

hihoCoder #1179 : 永恒游戏 (暴力枚举)

题意: 给出一个有n个点的无向图,每个点上有石头数个,现在的游戏规则是,设置某个点A的度数为d,如果A点的石子数大于等于d,则可以从A点给每个邻接点发一个石子.如果游戏可以玩10万次以上,输出INF, ...

菜单栏始终浮动在顶部 js

//菜单栏始终浮动在顶部var navH = $(".trade-tab-bot").offset().top;//获取要定位元素距离浏览器顶部的距离//滚动条事件$(window ...

day24_python_1124

1  复习 2  TCP-UDP协议 3  tcp协议的socket 4  复杂tcp协议的socket 5  带退出的聊天程序 6  时间练习demo 7  粘包现象 1.复习 # 网络编程概念# ...

js跳转到页面指定元素

var scrollDistance = $("#设置了的overflow元素").scrollTop() + $('#' + 当前屏幕元素).offset().top; $(&q ...

plsql auto 常用语法

s=SELECTf=FROMsf=SELECT * FROMw=WHEREo=ORDER BYdF=DELETE FROMsc=SELECT COUNT(1) FROMff=FOR UPDATEl=L ...

vue.js 中slot 用处大(转载)

什么是组件? 组件(Component)是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能.在有 ...

Define class with itself as generic implementation. Why/how does this work?

https://stackoverflow.com/questions/10709061/define-class-with-itself-as-generic-implementation-why- ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值