XML Loader
2009 年 4 月 28 日XMLを読み込むためのカスタムイベント
file:xmlLoaderEvent.as
package{
import flash.display.*;
import flash.net.URLRequest;
import flash.events.EventDispatcher;
import flash.events.Event;
import flash.system.*;
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
public class xmlLoaderEvent extends EventDispatcher{
private var _url:String;
public static const LOAD_COMPLETE:String = "load_complete";
private var xmlLoader:URLLoader;
private var _XML:XML;
/*=======================================*//**
* コンストラクタ
*/
public function xmlLoaderEvent(url:String):void{
//URLLoader作成
xmlLoader = new URLLoader();
xmlLoader.dataFormat = URLLoaderDataFormat.TEXT;
xmlLoader.addEventListener(Event.COMPLETE, onXMLloaded);
//URL
var urlReq:URLRequest = new URLRequest(url);
//Unicode以外ならばtrue
System.useCodePage = false;
//読み込み開始
xmlLoader.load(urlReq);
}
public function onXMLloaded(event:Event):void{
_XML = new XML(xmlLoader.data);
dispatchEvent(new Event(LOAD_COMPLETE) );
}
public function get xmldata():XML{
return this._XML;
}
}
}
file:xmlLoadTest.as
package{
import flash.display.*;
import flash.events.Event;
import xmlLoaderEvent;
public class xmlLoadTest extends MovieClip{
private var xmload:xmlLoaderEvent;
private var _XML:XML;
/*=======================================*//**
* コンストラクタ
*/
public function xmlLoadTest():void{
xmload = new xmlLoaderEvent("test.xml");
xmload.addEventListener(xmlLoaderEvent.LOAD_COMPLETE, onXMLloaded);
}
private function onXMLloaded(evt:Event):void{
trace(xmload.xmldata);
}
}
}

