XML class help!

Hi, I’ve got a Document Class, initXML class and a xmlParser class. The Document Class sends the xml file to the initXML class that then creates a new urlloader w/an event listener on it that calls the parser.

The Parser returns the data object back to initXML but I can’t figure out how to return the data back to the Document class.

Any help would be much appriciated!

Document Class:


package com.DePuy {
	import com.gs.TweenMax;
	import com.base10Creations.common.xml.initXML;
	
	import flash.text.*;
	
	import flash.display.DisplayObjectContainer;
    import flash.display.MovieClip;
	import flash.events.Event;
	
	
	public class main extends MovieClip {
		public function main() {
			setDefaults();
		}
		
		public function setDefaults():void {
			var test:Object = new Object;
			trace("setting defaults");
			var lowerLeftCircle:mc_circleLowerLeft = new mc_circleLowerLeft();
			lowerLeftCircle.x = 46;
			lowerLeftCircle.y = 251;
			lowerLeftCircle.visible = false;
			lowerLeftCircle.alpha = .5;
			addChild(lowerLeftCircle);
			trace(mc_slider);
			
			//Load XML
			var xmlObject:Object = initXML.initTheXML("../xml/DePuy.xml");
			trace("XML Object: "+xmlObject.activityArray);
		}
		
		public function loadProject() {
			trace("loading project");
		}
	}
}

initXML class

package com.base10Creations.common.xml {
	import com.DePuy.xmlParser;
	
	import flash.net.URLRequest;
	import flash.net.URLLoader;
	import flash.events.Event;
	
	public class initXML {
	
		public static function initTheXML(theXML:String):URLLoader {
			var xmlLoader:URLLoader = new URLLoader();
			 
			xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
			xmlLoader.load(new URLRequest(theXML));
			 
			function LoadXML(e:Event):Object {
				var xmlData:XML = new XML(e.target.data);
				var xmlParsed:Object = xmlParser.runParser(xmlData);
				
				return (xmlParsed);
			}
			
			trace("xmlLoader: "+xmlLoader.activityArray[0].aType);
			return (xmlLoader);
		}
	}
}

xmlParser class

package com.DePuy {
	
	public class xmlParser {
		
		public function xmlParser() {
			//runParser(xmlDataObj);
		}
		public static function runParser(xmlDataObj:XML):Object {
			trace("XML Output");
			trace("------------------------");
			
			var activitiesList:XMLList = xmlDataObj.activities.activity;
			
			var activitiesObj:Object = new Object();
			activitiesObj.activityArray = new Array();
			
			for (var i:int = 0; i < activitiesList.length(); i++) {
				var activityObj:Object = new Object();
				activityObj.aType = activitiesList*.attribute("type");
				activityObj.yearsArray = new Array();
				
				var yearsList:XMLList = activitiesList*.years.children();
				for (var j:int = 0; j < yearsList.length(); j++) {
					var yearsObj:Object = new Object();
					yearsObj.yNum = yearsList[j].attribute("yearNum");
					yearsObj.imgArray = new Array();
					yearsObj.itemArray = new Array();
					
					var imgList:XMLList = yearsList[j].images.children();
					for (var k:int = 0; k < imgList.length(); k++) {
						var imgObj:Object = new Object();
						imgObj.iPath = imgList[k].text();
					}
					yearsObj.imgArray.push(imgObj);
					
					var itemList:XMLList = yearsList[j].items.children();
					for (var l:int = 0; l < itemList.length(); l++) {
						var itemObj:Object = new Object();
						itemObj.iText = itemList[l].text();
						
						yearsObj.itemArray.push(itemObj);
					}
					activityObj.yearsArray.push(yearsObj);
				}
				activitiesObj.activityArray.push(activityObj);
			}
			
			
			trace("activityArray: "+activitiesObj.activityArray[0].aType)
			trace("finished parsing");
			return (activitiesObj);
		}
	}
}

Have your parser dispatch an event that document class is listening for … document class can use a public get function from the parser class when that happens?