jQueryでxmlを操作してみる

先日、北海道WEBコンソーシアムで知り合ったとある人とメールをしている時に、
AdobeのSpryの話になった。
そこででた話題は、Dreamweverだと簡単にxmlを読み込めて、
データベースが無い環境でも使える!的なことだった。
そしてそのソースを見せてもらったのだが、
これならjQueryでもできるんじゃないかなーなんて思ってしまった。
jQueryならソースも汚さずに作れるかなとも思ったので、
さっそく勉強してみることにした。
サンプルを作ってみた
xmlの読み込みとかすら全くわからなかったのだが、
調べていたらなんとなくわかったので作ってみた。
● サンプル
サンプルのソースを下記にも示しておくが、
まずjQueryのコードも一部よくわかっていなかったりする。
また勉強せねば!!
サンプルで利用したソース
■スクリプトソース
$(function(){
$.ajax({
url: '○○.xml',
type: 'GET',
dataType: 'xml',
timeout: 1000,
error: function(){
alert("xmlファイルの読み込みに失敗しました");
},
success: function(xml){
$(xml).find("row").each(function(){
var item_text = $(this).text();
$("<li></li>")
.html(item_text)
.appendTo('ol');
});
$("li.demo").html("");
}
});
});
■HTMLソース
<ol> <li class="demo">JavaScriptを有効にしてください。</li> </ol>
■XMLソース
<?xml version="1.0" encoding="UTF-8" ?> <list_database> <row recordid="1"> <day>2008.05.05</day> <content>テキスト1</content> </row> <row recordid="2"> <day>2008.05.06</day> <content>テキスト2</content> </row> <row recordid="3"> <day>2008.05.07</day> <content>テキスト3</content> </row> <row recordid="4"> <day>2008.05.08</day> <content>テキスト4</content> </row> <row recordid="5"> <day>2008.05.09</day> <content>テキスト5</content> </row> <row recordid="6"> <day>2008.05.10</day> <content>テキスト6</content> </row> <row recordid="7"> <day>2008.05.11</day> <content>テキスト7</content> </row> </list_database>
データベースが無い環境でも使える
今回のようにxmlを使えば、データベースがなくても
まるでデータベースを扱っているかのように使うことができる。
そしてSpryと違ってHTMLのソースも汚さないので、
今後はいろんな面で使っていこうと思う。
補足
しかし、どこかで知ったことだが、xmlファイルを読み込むには、
xmlファイルと同じサーバーに無ければならなかったはず。
今回もアップしたところから読み込ませようとしたのだが、
それだと読み込んでくれなかった。
使えるのかもしれないが、この点についてはもう少し調べてみようと思う。
参考サイト:
関連エントリー:
