XMLのロードでnullが返ってくる

しょーもないことでしばしばつまづいてしまうのでメモ。

URLLoaderでXML読み込んで、Event.target.dataでXMLを取得する場合。

 
function init():void
{
	var l:URLLoader = new URLLoader();
	l.addEventListener(Event.COMPLETE,onLoadComplete);
	l.load(new URLRequest("tinco.xml"));
}
 
function onLoadComplete(e:Event):void
{
	// 誤
	var xml:XML = e.target.data as XML;
	trace(xml) // null

	// 正
	var xml:XML = XML(e.target.data);
	trace(xml) // xmlがちゃんと返ってくる
}

キャストで クラス名() っていうのと as クラス名 ってのの違いをイマイチ理解していない。
他でも同じようなことがたまにあるからちゃんと調べよ。

Tags: ,

The URL to TrackBack this entry is:

コメントをどうぞ