Optimize this xml

I have an XML file…each node looks like this:


<?xml version="1.0" encoding="utf-8"?>
<HomefinderData>
	<Home>
		<Images>
			<Image>/media/635163/j patrick asbury e1.jpg</Image>
			<Image>/media/635164/j patrick asbury e2.jpg</Image>
			<Image>/media/635165/j patrick asbury e3.jpg</Image>
		</Images>
		<Floorplans>
			<Floorplan>/media/635166/j patrick asbury f1.jpg</Floorplan>
			<Floorplan>/media/635167/j patrick asbury f2.jpg</Floorplan>
		</Floorplans>
		<ModelName>Asbury (4007)</ModelName>
		<ModelBuilder>J. Patrick Homes</ModelBuilder>
		<ModelAddress></ModelAddress>
		<ModelIsFurnished>No</ModelIsFurnished>
		<ModelNewConstruction>No</ModelNewConstruction>
		<ModelSquareFeet>4007</ModelSquareFeet>
		<ModelBedrooms>4</ModelBedrooms>
		<ModelBathrooms>3.5</ModelBathrooms>
		<ModelFloors>2.0</ModelFloors>
		<ModelPricedFrom>$358,990</ModelPricedFrom>
		<ModelSalesRep></ModelSalesRep>
		<ModelAvailable></ModelAvailable>
	</Home>
</HomefinderData>

This is my XML loader…This works for now, but I dont like all the children().children() blah blah stuff…is their a simpler way of parsing this?


package com.ronihicks.xml
{
	import flash.events.*;
	import flash.net.*;
	import flash.xml.*;
	
	public class XMLLoader extends EventDispatcher
	{
		private var loader		:URLLoader;
		private var xmlList		:XMLList;
		private var xml			:XML;
		
		public var data			:Array;
		
		public function XMLLoader(xmlPath:String)
		{
			loader = new URLLoader();
			loader.load(new URLRequest(xmlPath));
			loader.addEventListener(Event.COMPLETE, onComplete);
		}
		
		private function onComplete(event:Event):void
		{
			xml 		= new XML(loader.data);
			xmlList 	= new XMLList(xml.Home);
			data		= new Array();

			for (var i:int = 0; i < xmlList.length(); i++)
			{
				var temp:Object = new Object();
				var node:XML 	= xmlList*;
				
				temp.images 	= new Array();
				for (var j:int = 0; j < node.children()[0].children().children().length(); j++)
				{
					temp.images.push(node.children()[0].children().children()[j]);
				}
				
				temp.floorPlans = new Array();
				for (var k:int = 0; k < node.children()[1].children().children().length(); k++)
				{
					temp.floorPlans.push(node.children()[1].children().children()[k]);
				}
				
				temp.ModelName 				= node.children()[2].children();
				temp.ModelBuilder 			= node.children()[3].children();
				temp.ModelAddress 			= node.children()[4].children();
				temp.ModelIsFurnished 		= node.children()[5].children();
				temp.ModelNewConstruction 	= node.children()[6].children();
				temp.ModelSquareFeet 		= node.children()[8].children();
				temp.ModelBedrooms 			= node.children()[9].children();
				temp.ModelBathrooms 		= node.children()[10].children();
				temp.ModelFloors 			= node.children()[11].children();
				temp.ModelPricedFrom 		= node.children()[12].children();
				temp.ModelSalesRep 			= node.children()[13].children();
				temp.ModelAvailable 		= node.children()[14].children();
				
				data.push(temp);
			}
			dispatchEvent(new Event(Event.COMPLETE));
		}
		
		public function getXMLdata():Array
		{
			return data;
		}
	}
}