gpt4 book ai didi

android - XmlPullParser:PI不能以xml开头,只能在Android 2.3.3以下

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:17:41 24 4
gpt4 key购买 nike

我在 Android 3.0+ 上没有错误,但只有在 Android 2.2、2.3.3 上当我尝试通过 XmlPullParser 解析一个小的 XML 文件时才会出现错误。 ,应用因错误而中断:

org.xmlpull.v1.XmlPullParserException: PI must not start with xml 
(position:unknown @1:5 in java.io.InputStreamReader@40568770)

错误中提到的PI是什么???

我发现这可能会导致 XML 文件的第一行 ( <?xml version="1.0" encoding="utf-8"?> ),但我没有找到在较低的 Android 版本上发生这种情况的原因。

如果这是错误的原因(XML 文件的第一行),我该如何解决?

我应该:
a) 请求 web 服务器的管理员更改 XML?如果是,他应该在 XML 中更改什么?
b) 子字符串 InputStream使用 BufferedReader

不知何故,我认为第二种方法会在性能较差的 Android 手机上造成额外的延迟

编辑

我从调试器中提取 XML 内容,看到第一个赞以 \r\n 结尾, 然后下一个字符开始。这对你有什么意义吗?

这就是 XML 文件的样子。这是一个很小的应用程序崩溃的视觉原因。

<?xml version="1.0" encoding="utf-8"?>
<song>
<artist>Pink Floyd</artist>
<title>Shine On You Crazy Diamond</title>
<picture>http://www.xxyz.com/images/image.jpg</picture>
<time>Fri, 23 Nov 2012 11:22:31 GMT</time>
</song>

这是从此 XML 中获取的 InputStream 的样子(仅以字符开头)。

请指教!!!

最佳答案

我在应用程序上使用的数据文件遇到了同样的问题。在 android 2.3.* 上有这个异常,问题是 UTF-8 BOM,所以我在 Windows 上找到的更简单的解决方案是使用 Notepad++ 工具,它可以让你将文件编码转换为没有 BOM 的 UTF-8 和而已。

关于android - XmlPullParser:PI不能以xml开头,只能在Android 2.3.3以下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13532401/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com