2011-01-10 17 views
0

私が構築しているAndroidアプリ向けにGoogleブックAPIを使用しています。これは、XMLファイルのサンプルRSSフィードのDOMパーサーを使用してAndroidでHTMLエンティティを解析する

<dc:description>This trilogy includes &amp;quot; The Hitchhiker&amp;#39;s Guide to the Galaxy&amp;quot; , &amp;quot; TheRestaurant at the End of the Universe&amp;quot; , &amp;quot; Life, Universe and Everything&amp;quot; and &amp;quot; So Long ...</dc:description> 
<dc:format>590 pages</dc:format> 
<dc:format>book</dc:format> 

であり、これは私がHTML.fromHtml(STR)を使用したときに問題がある記述を抽出するために

if (entry.getElementsByTagName("dc:description").item(0) != null) { 
    Element d = (Element) entry.getElementsByTagName("dc:description") 
     .item(0); 
    b.setDescription(d.getFirstChild().getNodeValue()); 

} 

を使用しているコードの一部でありますそれはので、この例では、それは単に

を言います。この三部作は

を含み(最初のHTMLエンティティでテキストをカットする機能0

私はアンドロイドの外で同じコードを実行すると、私は、手動でアプリにHTML.fromHtml()作品を、これを追加した場合、それはうまく動作し、少なくともエスケープ文字の文字列を示し、すなわち

This trilogy includes &quot; The Hitchhiker&#39;s Guide to the Galaxy&quot; , &quot; TheRestaurant at the End of the Universe&quot; , &quot; Life, Universe and Everything&quot; and &quot; So Long ... 

上手くいくので、問題はAndroidがパーザを実装していることだと思います。

同様の問題はAndroid decoding html in xml fileです。私は工場の検証をfalseに設定しようとしました。これはRSSフィードであるため、HTMLルート要素を宣言することはできません(この記事で提案されています)。

答えて

0

私はGoogleからの説明データを取得できませんでしたが、文書要素に対してnormalize()を実行することで問題が解決できると思います。私は別のAPIで同様の問題があり、修正しました。

+0

私は同じ問題を抱えています。「normalize()」の意味を説明できますか? –

関連する問題