Converting XML to objects using the Flex SimpleXMLDecoder class
The following example shows how you can use the decodeXML()
method in the SimpleXMLDecoder class to convert an XMLDocument object into an ActionScript Object 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; import mx.rpc.xml.SimpleXMLDecoder; private function serv_result(evt:ResultEvent):void { /* Convert XMLNode to XMLDocument. */ var xmlStr:String = evt.result.toString(); var xmlDoc:XMLDocument = new XMLDocument(xmlStr); var decoder:SimpleXMLDecoder = new SimpleXMLDecoder(true); var resultObj:Object = decoder.decodeXML(xmlDoc); /* 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="xml" 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> |
9:55 AM
|
Labels:
Flex Samples,
XMLDocument Object
|
This entry was posted on 9:55 AM
and is filed under
Flex Samples
,
XMLDocument Object
.
You can follow any responses to this entry through
the RSS 2.0 feed.
You can leave a response,
or trackback from your own site.
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment