nikefido
04-27-2008, 03:17 PM
I have a class that loads some XML and returns a XML List, but I think it's not as efficient as it could be - seems to be too heavy in that I'm including a lot of resources that I don't need.
For instance, to dispatch an event, I found that I had to extend at least a Sprite to avoid errors (even with importing event stuff).
I was wondering if anyone had any ideas on how to better do this?
package _resources._packages._fidoXML {
import flash.display.Sprite;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.net.*;
public class fidoXML extends Sprite {
var myXML:XML;
var xmlLoader:URLLoader = new URLLoader;
var myXML_List:XMLList;
public function fidoXML(xmlLoc:String):void {
xmlLoader.load(new URLRequest(xmlLoc));
xmlLoader.addEventListener(IOErrorEvent.IO_ERROR, onError);
xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded);
}
private function onError(event:IOErrorEvent):void {
trace(event.text);
}
private function xmlLoaded(event:Event):void {
myXML = XML(event.target.data);
myXML_List = myXML.children();
dispatchEvent(new Event('xmlLoaded'));
}
public function get fidoXMLList():XMLList {
return myXML_List;
}
}
}
For instance, to dispatch an event, I found that I had to extend at least a Sprite to avoid errors (even with importing event stuff).
I was wondering if anyone had any ideas on how to better do this?
package _resources._packages._fidoXML {
import flash.display.Sprite;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.net.*;
public class fidoXML extends Sprite {
var myXML:XML;
var xmlLoader:URLLoader = new URLLoader;
var myXML_List:XMLList;
public function fidoXML(xmlLoc:String):void {
xmlLoader.load(new URLRequest(xmlLoc));
xmlLoader.addEventListener(IOErrorEvent.IO_ERROR, onError);
xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded);
}
private function onError(event:IOErrorEvent):void {
trace(event.text);
}
private function xmlLoaded(event:Event):void {
myXML = XML(event.target.data);
myXML_List = myXML.children();
dispatchEvent(new Event('xmlLoaded'));
}
public function get fidoXMLList():XMLList {
return myXML_List;
}
}
}