There are lots of ways to do this. But I assume this will be the simplest one to understand. maybe....
Actionscript Code:
package classes{
import flash.display.MovieClip;
import flash.net.URLRequest;
public class Main extends MovieClip {
private var req:URLRequest;
private var xml:XMLReader;
private var dateLine:DateLine;
public function Main() {
req=new URLRequest("assets/xml/data.xml");
xml=new XMLReader();
dateLine=new DateLine(xml);
xml.load(req);
}
}
}
Actionscript Code:
package classes{
import flash.events.Event;
import flash.events.EventDispatcher;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.xml.XMLDocument;
public class XMLReader extends EventDispatcher {
private var xmlLoader:URLLoader;
public var myXML:XML;
public var dates:XMLList;
public var startDate:String;
public var endDate:String;
public function XMLReader() {
xmlLoader=new URLLoader();
}
public function load(evt:URLRequest):void {
xmlLoader.load(evt);
xmlLoader.addEventListener(Event.COMPLETE,xmlLoaded);
}
private function xmlLoaded(evt:Event):void {
myXML=new XML(evt.target.data);
dates=myXML.item;
dispatchEvent(new Event(Event.COMPLETE));
}
}
}
Actionscript Code:
package classes{
import flash.display.MovieClip;
import flash.events.Event;
import flash.net.URLRequest;
import flash.utils.getDefinitionByName;
import flash.utils.getQualifiedClassName;
public class DateLine {
private var dateHolder:XMLList;
public function DateLine(xml) {
xml.addEventListener(Event.COMPLETE,xmlLoaded);
}
private function xmlLoaded(evt:Event):void {
dateHolder=evt.target.dates;
evt.target.startDate=dateHolder[0].startdate;
evt.target.endDate=dateHolder[0].enddate;
//---------------------------------------------------//
trace(evt.target.myXML+"\n---------------");
trace("Class "+getQualifiedClassName(this).split("::")[1]+"\tdateHolder\t=\t"+dateHolder[0].startdate);
trace("Class "+getQualifiedClassName(evt.target).split("::")[1]+"\tstartDate\t=\t"+evt.target.startDate);
trace("Class "+getQualifiedClassName(evt.target).split("::")[1]+"\tendDate\t\t=\t"+evt.target.endDate);
//---------------------------------------------------//
}
}
}
arkitx