XMLをjQueryで取得してみる

Posted by specterant on 2012.02.25

jQueryでXMLデータの読み込みのお勉強。
とりあえず、このブログのRSSを取得して表示してみることに。

取得してみると日付が「Tue, 07 Feb 2012 04:52:55 +0000」みたいに表示されてしまう。
気に食わなかったので、Dateオブジェクトでゴニョゴニョして変換しました。

で、下記がその結果です。


ほんでもって、こっちがJavaScriptの記述。

$(function(){
	$.ajax({
		url: "http://log.specterant.com/?feed=rss2",
		type: "GET",
		dataType: "xml",
		success: function(xml)
		{
			$("item", xml).each(function(entryNum) {
				var titleTxt = $("title", this).text();
				var dataTxt = dateSetFunc($("pubDate", this).text());
				var linkUrl = $("link", this).text();
				$("div#rssdata").append($('<p>' + dataTxt + ':' + '<a href="' + linkUrl + '" target="_blank">' + titleTxt + '</a></p>'));
			});
		},
		error: function()
		{
			$('div#rssdata').append('XMLの読み込みが出来ませんでした。');
		}
	});
	
	
	function dateSetFunc(str)
	{
		var objDate = new Date(str);
		var y = objDate.getFullYear();
		var m = twoDigit(objDate.getMonth() + 1);
		var d = twoDigit(objDate.getDate());
		var ymd = y + "." + m + "." + d;
		str = ymd;
		return str;
	}
	
	function twoDigit(d)
	{
		d = "0" + d;
		d2 = d.substr(d.length - 2, 2);
		return d2;
	}
});
ブログサービスとかのRSSを取得する時に便利かもってことでメモでした。

【2012.02.28追記】
ブログサービスとかのRSSを取得する時に便利かもって書いたけど、
クロスドメインから取得することになるから、そこんとこ処理しないとだめやね…。
今回記述したのは、同一ドメイン内でしか使えんから…。
近いうちにクロスドメインから取得してみますです。

No comments yet.

Write a comment:

WP-SpamFree by Pole Position Marketing