下面的例子演示如何使用HTTPService标签一个载入的XML文件,通过设置resultFormat属性为“object”,转换为 ActionScript 对象Object 。
全代码:
<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2007/09/19/converting-xml-to-objects-using-the-flex-httpservice-mxml-tag/ -->
<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 {
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>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>结果:
width="100%" height="250" src="http://blog.flexexamples.com/wp-content/uploads/HTTPService_resultFormat_test/bin/main.html">
本文介绍如何在Flex中利用HTTPService组件加载并解析XML文件到ActionScript对象。通过设置resultFormat属性为'object',可以将XML数据转换为易于操作的对象格式。
118

被折叠的 条评论
为什么被折叠?



