将 xml 转换为对象

Posted

技术标签:

【中文标题】将 xml 转换为对象【英文标题】:converting an xml to an object 【发布时间】:2013-07-13 03:38:46 【问题描述】:

我是 actionscript 中该主题的初学者,但我有一个大的 xml 响应,如下所示,我不知道如何将其转换为一个类,那里有很多字段,我如何构造它们正确吗?

<GCPResponse userLocale=”de_AT_7_1”>
<Messages>
<PopUpMessages>
<Message no=”1” type=”game” name=”DONATION” key="detailKeyIfNecessary">
 ahhhdhhdhdhd
</Message>
</PopUpMessages>
<TickerMessages>
<Message no=”1” type=”game” name=”TTJP” key="detailKeyIfNecessary">
  fdfdfd
</Message>
<Message no=”2” type=”game” name=”LDJP”>
 fffff
</Message>
</TickerMessages>
</Messages>
<Response currency=”EUR”>
<BalanceCash>10000</BalanceCash>
<BalanceDonation>10000</BalanceDonation>
<DrawClosingTime>2013-04-12T23:20:50+01:00</DrawClosingTime>
<DrawOpeningTime>2013-04-10T12:00:00+01:00</DrawOpeningTime>
<Default maxDraws=”4” draws=”1” picks=”12” jokerPicks=”1”/>
<PickPrice gameName=”ttt” draw=”123” price=”60”/>

    </Response>
</GCPResponse>

【问题讨论】:

也许这个链接Deserialize XML to custom Class in Flex?会有用。可能重复!。 【参考方案1】:

使用 URLLoader 加载外部 XML 文件,即:

import flash.net.URLLoader;

...

private var _loader:URLLoader = new URLLoader();
private var _xml:XML;
private var _XMLselection:XMLList;

...

_loader.load(new URLRequest("assets/commissionercontent.xml"));
_loader.addEventListener(Event.COMPLETE, xmlLoaded);
_loader.addEventListener(IOErrorEvent.IO_ERROR, xmlError);

private function xmlError(p_event:Event):void 
    trace("XML error - maybe do something graphical here?");


private function xmlLoaded(p_event:Event):void 
    _xml=new XML(p_event.target.data);

一旦您将 XML 作为 Flash XML 对象,您就可以进行选择,例如:

_XMLselection = _xml.GCPResponse.Fixtures;

查看 adobe 实时文档...http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/XML.html

【讨论】:

以上是关于将 xml 转换为对象的主要内容,如果未能解决你的问题,请参考以下文章

将 xml 转换为对象

将 XML 文件转换为具有列表的 XML 对象 [重复]

将 XML 转换为 c# 对象

将对象列表转换为 xml 字符串

XStream将XML转换为JAVA对象快速指南

将对象转换为 XML 字符串