这个例子演示使用SimpleXMLDecoder类的
<?
xml version="1.0" encoding="utf-8"
?>
<!--
http://blog.flexexamples.com/2007/09/19/converting-xml-to-objects-using-the-flex-simplexmldecoder-class/
-->
<
mx:Application
xmlns:mx
="http://www.adobe.com/2006/mxml"
layout
="vertical"
verticalAlign
="middle"
backgroundColor
="white"
creationComplete
="serv.send();"
>

<
mx:Script
>
<
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
>
<?
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
>
结果:
decodeXML()
转换XMLDocument对象为 ActionScript Object对象。
全代码:









































































XML文件:









结果:
width="100%" height="250" src="http://blog.flexexamples.com/wp-content/uploads/SimpleXMLDecoder_decodeXML_test/bin/main.html">