android 使用pull解析遇到异常问题at org.xmlpull.v1.XmlPullParserException: Unexpected token (position:TEXT ???@

本文探讨了使用Android的XmlPullParserFactory解析XML时遇到的BOM头问题。当从服务器获取XML流进行解析时,由于BOM头的存在导致解析失败。文章提供了检查和移除BOM头的方法。

使用android的XmlPullParserFactory在解析出现这种异常。

使用本地的xml文件测试没有问题,但是从服务器读取的流,解析会报这种异常。(文件内容是一样的)

几番查证,是文件bom头的问题。

查看本地的文件使用HEX的格式看

前面有一个?

把测试的xml内容copy过来,查看

文件前面多了个?,这就是BOM头把。

就是这个原因导致了xml解析总是报错。自己编写代码解析XML的时候注意把从测试服务器拿下来的流中的bom头的信息处理掉.



12-12 11:56:02.552468 3517 3517 W CustomizeStateHelper: Got exception parsing permissions. org.xmlpull.v1.XmlPullParserException: Unexpected token (position:TEXT @1:2 in java.io.FileReader@db86be3) at com.android.org.kxml2.io.KXmlParser.next(KXmlParser.java:445) at com.android.org.kxml2.io.KXmlParser.next(KXmlParser.java:326) at com.android.server.oplus.customize.CustomizeStateHelper.readInterfaceFeatureFromXml(CustomizeStateHelper.java:158) at com.android.server.oplus.customize.CustomizeStateHelper.loadInterfaceFeature(CustomizeStateHelper.java:135) at com.android.server.oplus.customize.CustomizeStateHelper.isContainInterfaceFeature(CustomizeStateHelper.java:100) at com.android.server.oplus.customize.CustomizeStateHelper.isCustCoreAppCustomized(CustomizeStateHelper.java:368) at com.android.server.oplus.customize.OplusCustomizeService.isNeedStartCustCoreApp(OplusCustomizeService.java:517) at com.android.server.oplus.customize.OplusCustomizeService.initCoreService(OplusCustomizeService.java:491) at com.android.server.oplus.customize.OplusCustomizeService.systemReady(OplusCustomizeService.java:317) at com.android.server.OplusSystemServerEx.systemReady(OplusSystemServerEx.java:827) at com.android.server.OplusSystemServerHelper.systemReady(OplusSystemServerHelper.java:79) at com.android.server.SystemServerExtImpl.systemReady(SystemServerExtImpl.java:301) at com.android.server.SystemServer.startOtherServices(SystemServer.java:3606) at com.android.server.SystemServer.run(SystemServer.java:1074) at com.android.server.SystemServer.main(SystemServer.java:709) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:613) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1052)
最新发布
12-17
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值