0

私は自分のクライアント向けにRSSフィードを表示するAndroidアプリを書いています。彼は2つの異なるフィードを持っています。それらの1つは、例を使用して作成したコードで問題なく動作します。URLを彼の2番目のフィードに置き換えると、どこでもランダムな改行が発生します(特に、開き角かっこ<の後、および閉じかっこ<の前)。

これは作業フィードへのリンクです-http://prgk.ca/wD

これは、同じコードを使用して正しく解析されていないように見えるrssフィードです-http ://prgk.ca/ps


これがlogcatの例です。すべての<と>も何らかの理由で改行を入れていることがわかります...

08-19 09:43:46.444: I/RSSReader(6045): Get the Android App to  know when your advisor is available!
08-19 09:43:46.444: I/RSSReader(6045): http://www.keen.com/CommunityServer/UserBlogPosts/r00tman/Get-the-Android-App-to--know-when-your-
08-19 09:43:46.452: I/RSSReader(6045): advisor-is-available/624194.aspx
08-19 09:43:46.452: I/RSSReader(6045): Thu, 16 Aug 2012 19:39:00 GMT
08-19 09:43:46.452: I/RSSReader(6045): 8ca05964-da1c-4176-9dbc-9d0bc609bb83:624194
08-19 09:43:46.452: I/RSSReader(6045): r00tman
08-19 09:43:46.452: I/RSSReader(6045): 0
08-19 09:43:46.452: I/RSSReader(6045): http://www.keen.com/CommunityServer/blogs/642011/comments/624194.aspx
08-19 09:43:46.452: I/RSSReader(6045): http://www.keen.com/CommunityServer/blogs/642011/commentrss.aspx?PostID=624194
08-19 09:43:46.452: I/RSSReader(6045): http://www.keen.com/CommunityServer/blogs/rsscomments/624194.aspx
08-19 09:43:46.452: I/RSSReader(6045): <
08-19 09:43:46.452: I/RSSReader(6045): a href="http://majesticvision.com/downloads/android/love-tarot.apk"
08-19 09:43:46.452: I/RSSReader(6045): >
08-19 09:43:46.452: I/RSSReader(6045): <
08-19 09:43:46.452: I/RSSReader(6045): img src="http://www.majesticvision.com/keen/2012-08-16_App-Shot.png" height="75" width="385" /
08-19 09:43:46.460: I/RSSReader(6045): >
08-19 09:43:46.460: I/RSSReader(6045): <
08-19 09:43:46.460: I/RSSReader(6045): /a
08-19 09:43:46.460: I/RSSReader(6045): >
08-19 09:43:46.460: I/RSSReader(6045): <
08-19 09:43:46.460: I/RSSReader(6045): br /
08-19 09:43:46.460: I/RSSReader(6045): >
08-19 09:43:46.460: I/RSSReader(6045): <
08-19 09:43:46.460: I/RSSReader(6045): br /
08-19 09:43:46.460: I/RSSReader(6045): >

これが問題を示すスクリーンショットです。この特定の例では、<link> </ link>タグからのURLが奇妙な場所で分割されているため、URLの一部が欠落しており、<description></description>タグから取得しているのは「< 「記事全体があるべきとき

電話のスクリーンショット

4

1 に答える 1

1

私はこれを回避することになりました。RSSHandler クラスで、状態をリセットする部分をコメントアウトしました

public void characters(char ch[], int start, int length) {
    String theString = new String(ch, start, length);

    switch (currentstate) {
    case RSS_TITLE:
        _item.setTitle(theString);
        // currentstate = 0;
        break;
    case RSS_LINK:
        _item.setLink(theString);
        // currentstate = 0;
        break;
    case RSS_DESCRIPTION:
        _item.setDescription(theString);
        // currentstate = 0;
        break;
    case RSS_CATEGORY:
        _item.setCategory(theString);
        // currentstate = 0;
        break;
    case RSS_PUBDATE:
        _item.setPubDate(theString);
        // currentstate = 0;
        break;
    default:
        return;
    }

次に、RSSitem クラスで、文字列を毎回リセットするのではなく、それ自体に追加しました。

void setDescription(String description) {
    _description = _description + Html.fromHtml(description).toString();
}

それはおそらく最善の修正ではありませんが、私にとっては完璧に機能しました!

于 2012-08-25T04:14:03.830 に答える