错误原因:org.xmlpull.v1.XmlPullParserException: 意外的标记 (位置:TEXT {“code”:0,"messa…@)。

3

我开发安卓应用。借助retrofit2.3.0的帮助,应用从服务器加载xml并尝试处理它,但由于某些原因出现了错误。

  Caused by: org.xmlpull.v1.XmlPullParserException: Unexpected token 
  (position:TEXT {"code":0,"messa...@1:63340 in 
   okhttp3.ResponseBody$BomAwareReader@534d7670) 
    at org.kxml2.io.KXmlParser.next(KXmlParser.java:426)
    at org.kxml2.io.KXmlParser.next(KXmlParser.java:310)
    at org.simpleframework.xml.stream.PullReader.read(PullReader.java:105)
    at org.simpleframework.xml.stream.PullReader.next(PullReader.java:89)
    at org.simpleframework.xml.stream.NodeReader.readElement(NodeReader.java:111)
    at org.simpleframework.xml.stream.NodeReader.readRoot(NodeReader.java:85)
    at org.simpleframework.xml.stream.NodeBuilder.read(NodeBuilder.java:84)
    at org.simpleframework.xml.stream.NodeBuilder.read(NodeBuilder.java:71)
    at org.simpleframework.xml.core.Persister.read(Persister.java:562)
    at retrofit2.converter.simplexml.SimpleXmlResponseBodyConverter.convert(SimpleXmlResponseBodyConverter.java:36)
    ... 9 more

这是服务器中的 XML 文件

  <response>
   <code>0</code>
   <message>
     <item>
       <point_id>6320</point_id>
       <shop_id>4215</shop_id>
       <point_address>
       Russia, Moscow.
       </point_address>    
       </item>
      </message>
     </response>

please help me.

1个回答

4

我在解析XML时遇到了类似的错误:

org.xmlpull.v1.XmlPullParserException: Unexpected token (position:TEXT @1:2 in java.io.StringReader@b7f960d)

我发现,问题出在编码上。该文件使用UTF-8-BOM编码。将文件首先转换为UTF-8编码,然后再进行解析,问题就解决了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接