###前提・実現したいこと
Google AJAX Feed APIの終了に伴い、代替案を施工中です。
http://homemadegarbage.0t0.jp/cross-domain-ajax-rss
上記サイトを参照に、jquery.xdomainajax.js を使用して取得、表示(タイトル、リンク用のURL)することには成功したのですが、
取得するRSSがバージョン1で、日付がdc:dateのためうまく取得&表示ができなく困っております。
###発生している問題・エラーメッセージ
日付がdc:dateのためうまく取得&表示ができない
###該当のソースコード
下記、上記サイトのコードです。
下記では data[i].pubDate.text ですが、取得するRSSが dc:date のためうまく取得&表示ができなく困っております。
<script type="text/javascript" src="js/jquery.xdomainajax.js"></script> <script> $(function(){ $.ajax({ url: 'URL', type: 'GET', cache: false, dataType: 'xml', timeout: 5000, success: function(res, status) { if (status === 'success') { // responseText から取得して、xml 形式に変換する必要があり var xmlText = res["responseText"]; var xml = $.parseXML(xmlText); var row = 0; var data = []; var nodeName; $(xml).find('item').each(function() { data[row] = {}; $(this).children().each(function() { // 子要素を取得 nodeName = $(this)[0].nodeName; // 要素名 data[row][nodeName] = {}; // 初期化 attributes = $(this)[0].attributes; // 属性を取得 for (var i in attributes) { data[row][nodeName][attributes[i].name] = attributes[i].value; // 属性名 = 値 } data[row][nodeName]['text'] = $(this).text(); }); row++; }); for (i in data) { $('#rss').append('<div>' + '<a href="' + data[i].link.text + '" target="_blank"><dl>' + '<dt><img src="' + data[i].enclosure.url + '"></dt>' + '<dd class="title">' + data[i].title.text + '</dd>' + '<dd class="date">' + data[i].pubDate.text + '</dd>' + '<dd class="description">' + data[i].description.text.replace(/<("[^"]*"|'[^']*'|[^'">])*>/g,'').substr(0, 70) + '</dd>' + '</dl></a></div>'); } } } }); }); </script>
###試したこと
data[i].pubDate.text
を、
data[i].dc\\:date.text
としてみたりしましたが実現できておりません。
また、下記サイト
http://qiita.com/s0hno/items/36316dbb737ebe8b2bcf
にて「childrenメソッドを呼ぶ」というのを見つけたのですが、
「該当のソースコード」の
$(this).children().each(function() 〜 });
のどこに、どのように記述すればよいのかがわからない状況です。
###補足情報(言語/FW/ツール等のバージョンなど)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/12 09:16