Locked History Actions

Diff for "Android/XmlPullParser"

Differences between revisions 1 and 2
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:

 * parser = Xml.newPullParser();
 * parser = XmlPullParserFactory.newInstance().newPullParser();

しかし、前者には強烈なバグがある(ようだ)。このバグを回避する方法は今のところ不明。

XMLにエンコーディングが指定されていても、それを取得することができないのである。
{{{
<?xml version="1.0" encoding="EUC-JP"?>
<rss version="2.0">
<channel>
<title>テストデータ漢字</title>
</channel>
</rss>
}}}
などというxmlを読み込ませると、前者ではこれがEUC-JPであることを認識できず、エラーが発生してしまう。
後者であればうまくいく。

なぜ同じようなものが二種類用意されているのかは一切不明だが、ただ現在のXmlPullParserのドキュメントには後者の例しか記載されていない。

XmlPullParser

Xml.newPullParser()のバグ

XmlPullParserを取得するには、以下の二つの方法がある。

しかし、前者には強烈なバグがある(ようだ)。このバグを回避する方法は今のところ不明。

XMLにエンコーディングが指定されていても、それを取得することができないのである。

<?xml version="1.0" encoding="EUC-JP"?>
<rss version="2.0">
<channel>
<title>テストデータ漢字</title>
</channel>
</rss>

などというxmlを読み込ませると、前者ではこれがEUC-JPであることを認識できず、エラーが発生してしまう。 後者であればうまくいく。

なぜ同じようなものが二種類用意されているのかは一切不明だが、ただ現在のXmlPullParserのドキュメントには後者の例しか記載されていない。