| Refresh | Home EGTry.com

load xml file as arraycollection through httpservice


xml file format

<xmlroot>
	<row year="2001" month="1" day="1" data="111" />
	<row year="2001" month="1" day="2" data="112" />
	<row year="2001" month="1" day="3" data="113" />
</xmlroot>

alternative xml file that translates to the same arraycollection

<xmlroot>
	<row> <year>2001</year> <month>1</month> <day>1 </day> <data>111</data> </row>
	<row> <year>2001</year> <month>1</month> <day>2 </day> <data>112</data> </row>
	<row> <year>2001</year> <month>1</month> <day>3 </day> <data>113</data> </row>
</xmlroot>

ArrayCollection from ResultEvent

var rows:ArrayCollection=event.result.xmlroot.row;


sample application code

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" preinitialize="preinit()">
	<mx:Script>
		<![CDATA[
			import mx.controls.Alert;
			import mx.collections.ArrayCollection;
			import mx.rpc.events.FaultEvent;
			import mx.rpc.events.ResultEvent;
			
			private var yeardata:ArrayCollection;
			
			private function preinit():void {
				servid.url="http://localhost/aedgoal/revenue1.xml";
				servid.send();
			}
			
			private function onResult(event:ResultEvent):void {

				yeardata=event.result.xmlroot.row;
				trace("success2 ");
				var firstrow:Object=yeardata.getItemAt(0);
			
				Alert.show("first row: "+firstrow.year+" "+firstrow.month+" "+firstrow.day+" "+firstrow.data);
				
			}
			
			private function onFault(event:FaultEvent):void {
				trace("fault");
				Alert.show(event.message.toString(), "fault:");

			}
			
		]]>
	</mx:Script>
	
	
	<mx:HTTPService id="servid" url="http://localhost/revenue2.xml" 
		useProxy="false" result="onResult(event)" fault="onFault(event)" />
	
</mx:Application>