0

このコードを使用して RSS フィードを取得するために、GoogleFeed API ( https://developers.google.com/feed/ ) を使用しています。

    function loadAuto(){
    google.load("feeds", "1");  
    function initialize() {
        var feed = new google.feeds.Feed("http://www.automoto.sk/rss");
        feed.setNumEntries(window.localStorage.getItem("entriesNumber"));
        feed.load(function(result) {
            if (!result.error) {
                var feedlist = document.getElementById("feedAuto");
                for (var i = 0; i < result.feed.entries.length; i++) {
                    var li = document.createElement("li");
                    var entry = result.feed.entries[i];
                    var A = document.createElement("A");
                    var descriptionSettings = window.localStorage.getItem("descriptionSettings");
                    if (descriptionSettings=="true"){
                        var h3 = document.createElement("h3");
                        var p = document.createElement("p");
                        var pDate = document.createElement("p");
                        pDate.setAttribute("style","text-align: right; margin-top: 5px;");
                        var publishedDate = new Date(entry.publishedDate);
                        publishedDateConverted = convertTime(publishedDate);
                        pDate.appendChild(document.createTextNode(publishedDateConverted));
                        h3.setAttribute("style","white-space: normal;")
                        h3.appendChild(document.createTextNode(entry.title));
                        p.setAttribute("style","white-space: normal;")
                        p.appendChild(document.createTextNode(entry.content));
                        A.setAttribute("href",entry.link);
                        A.appendChild(h3);
                        A.appendChild(p);
                        A.appendChild(pDate);
                        }
                    else{
                        A.setAttribute("href",entry.link);
                        A.appendChild(document.createTextNode(entry.title));
                    };
                    li.appendChild(A);
                    feedlist.appendChild(li);
                }
                $("#feedAuto").listview("refresh");
            }
        });
    }
    google.setOnLoadCallback(initialize);
};

すべて正常に動作していますが、1 つの要素を読み込めません。これは RSS 構造です。

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel>
   <title>automoto.sk</title>
   <link>http://www.automoto.sk</link>
   <description>automoto.sk</description>   
   <language>sk</language>
   <image><title>automoto.sk</title><url>http://img.automoto.sk</url><link>http: //www.automoto.sk</link></image>
   <pubDate>Thu, 13 Sep 2012 12:22:45 +0200</pubDate>
    <item>
     <title><![CDATA[Nová Kia pro_ceed: Najdynamickejší Slovák]]></title>
     <link>http://www.automoto.sk/clanok/188988/nova-kia-pro-ceed-najdynamickejsi-slovak</link>
     <pubDate>Thu, 13 Sep 2012 09:22:00 +0200</pubDate>
     <guid isPermaLink="false">5e14ddbf095fe497eaf03f9a8cd88773</guid>
     <description><![CDATA[PARÍŽ 2012    Trojdverový variant druhej generácie typu cee’d má podstatne štipľavejší dizajn ako jeho praktickejší brat.]]></description>
     <enclosure url="http://img.automoto.sk/img/20/title/1395542-img-nova-kia-pro-ceed.jpg" length="0" type="image/jpeg"></enclosure>
    </item>
</rss>

エンクロージャーにある img をロードする必要がありますが、エンクロージャーの URL 変数をロードする方法がわかりません。おそらく、フォーマットを XML に変更することで解決できます。すでに XML に変更しようとしましたが、うまくいきませんでした。したがって、画像を JSON 形式でロードする方法を知っている場合、または initialize() 関数を変換して XML で動作するようにする方法を知っている場合は、img URL をロードして提案を投稿してください。

PS:このサイトhttp://www.automoto.sk/rss/で RSS を見つけることができます。

4

1 に答える 1

0

混合形式を使用して動作するようになりました。したがって、私のコードは次のように変更されました。

var feed = new google.feeds.Feed("http://www.automoto.sk/rss");
feed.setResultFormat(google.feeds.Feed.MIXED_FORMAT);

そして、これを追加しました:

var entryImageUrl = entry.xmlNode.getElementsByTagName("enclosure")[0].getAttribute("url");

サイクル中。

于 2012-09-13T10:44:58.940 に答える