错误由以下原因引起:org.xmlpull.v1.XmlPullParser异常:意外的令牌(位置:文本 {"代码":0,"messa...@



我开发安卓应用程序。在 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>

请帮助我。

我在

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

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

正如我发现的那样,这是编码问题。文件使用 UTF-8-BOM 进行编码。首先将文件转换为 UTF-8 然后解析后,问题消失了。

最新更新