Android 3.0 以降ではエラーは発生しませんが、Android 2.2、2.3.3 でのみ、小さな XML ファイルを 経由XmlPullParser
で解析しようとすると、アプリがエラーで中断します。
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
どういうわけか、2番目のアプローチは、弱いAndroid携帯で余分な遅延を引き起こすと思います.
編集
デバッガーから XML コンテンツを取り出したところ、最初の like が で終わり\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 がどのように見えるかです (最初の文字のみ)。
お知らせ下さい!!!