Home > AS3 > マッシュアップのための第一歩:FlashでAPIからXMLを呼んだときはxmlnsに注意する

マッシュアップのための第一歩:FlashでAPIからXMLを呼んだときはxmlnsに注意する

  • Posted by: ryow
  • 2008年7月13日 01:13
  • AS3

なんかマッシュアップとやらが流行ってるらしいので、リクルートAPIキーを取得してマッシュアップしてやろう、と思い立ったんですがXMLを呼んだだけで満足してしまったので続きは後日。
今回の結果だけ書いておこう。っていうか1年も前にMTLのtaquoさんがそういう記事を書いてた。

↑これはFlashでホットペッパービューティの西東京エリアのサロンを取得した結果。僕の住む立川がまったく出てこず、八王子ばかりとはこれいかに。

マッシュアップのために

まずはこちらでAPIキーの登録をしました。メアドを入力するだけです。
次に、欲しいAPIのURLを探します。ホットペッパービューティの場合はここにAPIがいくつもあるので、このURLを使えばいいことがわかります。
そしてFlashなり何なりで開発します。AS3では、まず適当にインポートして、URL、キー、検索軸(&small_area=X027 とか &kodawari=parma とか)を設定し、URLLoaderでURLRequestを処理して、イベントコンプリートハンドラで得たXMLデータを弄る、という具合です。

ソース

import fl.containers.ScrollPane
Security.loadPolicyFile("http://webservice.recruit.co.jp/beauty/crossdomain.xml");

var url:String ="http://webservice.recruit.co.jp/beauty/salon/v1/?key=";
var key:String ="KEYをいれてね!!";
var service:String = "&small_area=X027";
var dataXML:XML;

function loadXML():void {
	var _url:URLRequest = new URLRequest(url+key+service);
	var ldr = new URLLoader();
	ldr.addEventListener(Event.COMPLETE,completeHandler);
	ldr.load(_url);
}
function completeHandler(e:Event):void {
	dataXML = new XML(e.target.data);
	namespace ns= 'http://webservice.recruit.co.jp/beauty/'
	use namespace ns;

	for(var i:uint=0;i

重要なのは、XMLを呼んだあとでXMLネームスペース(xmlns)を指定すること。でないとE4Xでアクセスできません(dataXML.children[0].child...としてアクセスできるけど、dataXML.salon.nameみたいなアクセス方法はネームスペースを指定してないとダメっていうこと)。

意味ないけど今回のソースはこちらね(CS3形式 .flaファイル)。

Comments:0

Comment Form

Trackbacks:0

TrackBack URL for this entry
http://ryow.net/mt/mt-tb.cgi/346
Listed below are links to weblogs that reference
マッシュアップのための第一歩:FlashでAPIからXMLを呼んだときはxmlnsに注意する from ryow.net Blog

Home > AS3 > マッシュアップのための第一歩:FlashでAPIからXMLを呼んだときはxmlnsに注意する

About

りょうどっとねっとブログ

Twitter Id:ryownet

はてなブックマーク Id:ryownet

Search

Return to page top