2008年11月23日日曜日

jQueryとXML.ObjTree

スズキです。

JavascriptでのXMLのハンドリングは、
今でもやはり、XML.ObjTreeを利用するがBESTだと思っています。
http://suz-lab.blogspot.com/2008/03/xmlobjtreexmljson.html

以前書いた上記エントリでは、HTTP.Requestを使い
parseHTTPで、データの取得&パースをしていましたが、
今回は、jQueryのFormプラグインでも利用したいこともあり、
jQueryのAjax系関数で、XML.ObjTreeをどう使うか?
についていろいろ試してみました。

とりあえず、書きコードでやりたいことは実現できます。

--------【Javascript】--------
var params = {
  city: $("#city").val(),
  day : $("#day").val()
}
$.get("findWeather", params, function(data){
  var xotree = new XML.ObjTree();
  var tree = xotree.parseXML(data);
  alert(tree.lwws.telop);
}, "text");
--------
※livedoorのお天気Webサービスがネタです。
http://weather.livedoor.com/weather_hacks/webservice.html

ポイントは、$.getでの取得するデータタイプを"text"にすることです。
こうすることでテキスト状態のXMLをparseXMLでパースする、
いつものパターンに持っていくことができます。

parseDOMとか使った、もっといい方法もあるかも...

--
http://suz-lab.blogspot.com/

0 コメント: