在HttpService
的帮助下,是否可以将XML文件反序列化为Flex中的类,而无需手动检查XML和/或创建类?
编辑:解释得更多更好。
我们有一个XML文件,其中包含:
<Project>
<Name>NameGoesHere</Name>
<Number>15</Number>
</Project>
在Flex中,我们希望将其序列化为Project类:
package com.examplepackage
{
import mx.collections.ArrayCollection;
[XmlClass]
public class Project
{
public var Name:String;
public var Number:int;
public function Project()
{
}
}
}
XML加载了HTTPService。
答案 0 :(得分:1)
为了让Flex自动为您的对象序列化和反序列化,需要某种WSDL或RPC协议。因此,您需要指定一个WSDL来用于反序列化XML数据,使用AMF或其他协议,或者使用您的httpservice直接返回的任何MIME类型。
编辑:您可以设置自己的一组类来处理xml对象的反序列化。 AMF服务的工作方式是首先将返回的对象反序列化为mx.utils.ObjecProxy个实例,然后将type
的{{1}}属性与现有的ObjectProxy
进行匹配,并初始化动态RemoteClass
属性中值PropertyList
中的类。您可以通过查看属性和值的类型和子节点的XML根来设置自己创建ObjectProxy的类集,然后基于Object代理实例化AS类。你不可能不得不编写一些代码来直接处理XML。
答案 1 :(得分:0)
您可能想要尝试xml序列化库,例如FlexXB(http://code.google.com/p/flexxb)。它使用注释来自动化(反)序列化过程,使您可以很好地控制生成的xml。
答案 2 :(得分:0)