Search Flex Samples

Converting XML to objects using the Flex HTTPService MXML tag

The following example shows how you can convert an XML file loaded at run-time using the HTTPService tag, into an ActionScript Object by simply setting the resultFormat property to “object”.




<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"

layout="vertical"

verticalAlign="middle"

backgroundColor="white"

creationComplete="serv.send();">



<mx:Script>

<![CDATA[

import mx.rpc.events.FaultEvent;

import mx.rpc.events.ResultEvent;



private function serv_result(evt:ResultEvent):void {

var resultObj:Object = evt.result;

/* Assign the values... */

nameText.text = resultObj.album.name;

img0Text.text = resultObj.album.images.image[0];

img1Text.text = resultObj.album.images.image[1];

img2Text.text = resultObj.album.images.image[2];

}



private function serv_fault(evt:FaultEvent):void {

/* Show the error label. */

error.text += evt.fault.faultString;

error.visible = true;

/* Hide the form. */

form.visible = false;

}

]]>

</mx:Script>



<mx:String id="XML_URL">album.xml</mx:String>



<mx:HTTPService id="serv"

url="{XML_URL}"

resultFormat="object"

result="serv_result(event);"

fault="serv_fault(event);" />



<mx:ApplicationControlBar dock="true">

<mx:Label text="{XML_URL}" />

</mx:ApplicationControlBar>



<mx:Label id="error"

color="red"

fontSize="36"

fontWeight="bold"

visible="false"

includeInLayout="{error.visible}"/>



<mx:Form id="form"

includeInLayout="{form.visible}">

<mx:FormItem label="resultObj.album.name:">

<mx:Label id="nameText" />

</mx:FormItem>

<mx:FormItem label="resultObj.album.images.image[0]:">

<mx:Label id="img0Text" />

</mx:FormItem>

<mx:FormItem label="resultObj.album.images.image[1]:">

<mx:Label id="img1Text" />

</mx:FormItem>

<mx:FormItem label="resultObj.album.images.image[2]:">

<mx:Label id="img2Text" />

</mx:FormItem>

</mx:Form>



</mx:Application>

View album.xml


<?xml version="1.0" encoding="utf-8"?>

<album>

<name>One</name>

<images>

<image>image1.jpg</image>

<image>image2.jpg</image>

<image>image3.jpg</image>

</images>

</album>

0 comments:

Related Flex Samples

Learn Flex: Flex Samples | Flex Video Tutorials Flex Examples