thanks Jason,
i can see why that is a good way to do things. because an xml file could vary 
so much in what it contains and how its written, with your classes you don't 
need to rewrite an xml loading class for each project just a class to deal with 
the xml once its loaded, so saving on coding time.

> Date: Thu, 19 Nov 2009 13:13:59 -0500
> From: jason.merr...@bankofamerica.com
> Subject: RE: [Flashcoders] OOP and XML
> To: flashcoders@chattyfig.figleaf.com
> 
> David - here is a class I wrote which I use all the time for working
> with XML. It's a slightly different approach I prefer, where the class
> listens for the load to complete, and then creates a public XML property
> of the data you can get once the load is done.  Here is the class and
> the associated custom event:
> 
> package utils 
> {
>       import events.XMLFileLoaderEvent;
>       import flash.events.Event;
>       import flash.events.EventDispatcher;
>       import flash.net.URLLoader;
>       import flash.net.URLRequest;
>       
>       /**
>        * ...
>        * @author Jason Merrill - Bank of America
>        */
>       public class XMLFileLoader extends EventDispatcher
>       {
>               public var xml:XML;
>               
>               private var _xmlURL:String;
>               private var _urlLoader:URLLoader;
>               
>               public function XMLFileLoader(xmlURL:String) 
>               {
>                       _xmlURL = xmlURL;
>                       _urlLoader = new URLLoader(new
> URLRequest(_xmlURL));
>                       _urlLoader.addEventListener(Event.COMPLETE,
> onXMLLoaded); 
>               }
>               
>               private function onXMLLoaded(event:Event):void
>               {
>                       xml = new XML(event.target.data);
>                       dispatchEvent(new
> XMLFileLoaderEvent(XMLFileLoaderEvent.LOAD_COMPLETE));
>               }
>               
>       }
>       
> }
> 
> //Custom event
> 
> package events
> {
>       /**
>       * ...
>       * @author Jason Merrill - Bank of America
>       */
>       import flash.events.Event;
>       
>       public class XMLFileLoaderEvent extends Event
>       {
>               public static var LOAD_COMPLETE:String = "my_event";
>               
>               public function XMLFileLoaderEvent (type:String,
> bubbles:Boolean=false, cancelable:Boolean=false)
>               {
>                       super(type, bubbles, cancelable);
>               }
>               
>               public override function clone():Event 
>               {
>                       return new XMLFileLoaderEvent(type, bubbles,
> cancelable);
>               }
>               
>               public override function toString():String 
>               { 
>                       return formatToString("XMLFileLoaderEvent",
> "type", "bubbles", "cancelable", "eventPhase"); 
>               }
>               
>       }
> 
> }
> 
> 
> Jason Merrill 
> 
>  Bank of  America  Global Learning 
> Learning & Performance Soluions
> 
> Join the Bank of America Flash Platform Community  and visit our
> Instructional Technology Design Blog
> (note: these are for Bank of America employees only)
> 
> 
> 
> 
> 
> 
> -----Original Message-----
> From: flashcoders-boun...@chattyfig.figleaf.com
> [mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of David
> Hunter
> Sent: Thursday, November 19, 2009 11:51 AM
> To: flashcoders@chattyfig.figleaf.com
> Subject: RE: [Flashcoders] OOP and XML
> 
> 
> thanks greg, and nice to know that either way is ok. don't want to start
> down bad habits already!
> i've got it working now with a custom event and a little extra help from
> this as well:
> http://www.learningactionscript3.com/2008/11/11/passing-arguments-with-e
> vents/
> cheers.
> 
> 
> > Date: Thu, 19 Nov 2009 10:53:18 -0500
> > Subject: Re: [Flashcoders] OOP and XML
> > From: breakfastcof...@gmail.com
> > To: flashcoders@chattyfig.figleaf.com
> > 
> > either way works... its a 6 of one half a dozen of another type
> situation
> > 
> > so you could say
> > 
> >     dispatchEvent(Event.COMPLETE) from your XMLLoader class and put
> the data
> > into a public var that your class listening can access.
> > 
> > Or you could make a custom event like this
> > 
> >     dispatchEvent(new XMLEvent(XMLEvent.DATA_LOADED, loader.data));
> > 
> > where you send in the data into a custom event u make
> > 
> > hope this makes sense
> > 
> > greg
> > 
> > On Thu, Nov 19, 2009 at 10:38 AM, David Hunter
> <davehunte...@hotmail.com>wrote:
> > 
> > >
> > > thanks Henrik,
> > > are you saying that i need to create a custom event class and
> dispatch an
> > > event from that class? otherwise how else could i attach the data to
> a
> > > dispatched event?
> > > or do you mean to dispatch an existing event type so when fired the
> > > DocumentClass will go into the XMLLoaderClass and grab a public var
> > > containing the data?
> > > i have never dispatched events before, so i guess i'll have to look
> into
> > > it.
> > > i have posted my two classes on pastebin to look at:
> > > http://pastebin.com/m4ba8e745
> > > cheers
> > > > Date: Thu, 19 Nov 2009 13:58:45 +0100
> > > > From: he...@henke37.cjb.net
> > > > To: flashcoders@chattyfig.figleaf.com
> > > > Subject: Re: [Flashcoders] OOP and XML
> > > >
> > > > Dispatch an event when the data is ready and have the main code
> listen
> > > > for the event.
> > > > _______________________________________________
> > > > Flashcoders mailing list
> > > > Flashcoders@chattyfig.figleaf.com
> > > > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
> > >
> > >
> > > _________________________________________________________________
> > > Got more than one Hotmail account? Save time by linking them
> together
> > >
> > >
> http://clk.atdmt.com/UKM/go/186394591/direct/01/________________________
> _______________________
> > > Flashcoders mailing list
> > > Flashcoders@chattyfig.figleaf.com
> > > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
> > >
> > _______________________________________________
> > Flashcoders mailing list
> > Flashcoders@chattyfig.figleaf.com
> > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>                                         
> _________________________________________________________________
> Add your Gmail and Yahoo! Mail email accounts into Hotmail - it's easy
> http://clk.atdmt.com/UKM/go/186394592/direct/01/________________________
> _______________________
> Flashcoders mailing list
> Flashcoders@chattyfig.figleaf.com
> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
> _______________________________________________
> Flashcoders mailing list
> Flashcoders@chattyfig.figleaf.com
> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
                                          
_________________________________________________________________
Add your Gmail and Yahoo! Mail email accounts into Hotmail - it's easy
http://clk.atdmt.com/UKM/go/186394592/direct/01/_______________________________________________
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Reply via email to