XML TO ArrayCollection 两种实现方式

最近研究FLEX,在网上看过100遍同一篇文章,结果测试不通,不知道到底能不能跑通,最后翻资料自己试验处理。

一:
复制代码 代码如下:










url="charts_ColumnChart.xml"
result="initFile(event)" showBusyCursor="true" method="post"
resultFormat="e4x"/>
import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;
private var ac:ArrayCollection = new ArrayCollection();
function initFile(event:ResultEvent):void{
for each(var p:XML in event.result..node){
var obj:Object=new Object();
obj.Country=p.@Country;
obj.Gold=p.@Gold;
obj.Silver=p.@Silver;
obj.Bronze=p.@Bronze;
ac.addItem(obj);
}
}

二:
复制代码 代码如下:




暗暗a
10
20
30


暗b啊
10
20
30


暗c啊
10
20
30


url="charts_ColumnChart1.xml"
result="initFile1(event)" showBusyCursor="true" method="post"
resultFormat="e4x"/>
import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;
private var ac1:ArrayCollection = new ArrayCollection();
function initFile1(event:ResultEvent):void{
for each(var p:XML in event.result..node){
var xmlobj:XMLList=new XMLList(p);
ac1.addItem(xmlobj);
}
}

XMLList在默认包中,不用import
event.result..node是resultFormat="e4x"的写法,支持event.result(结果)..节点名
例如:
复制代码 代码如下:

event.result..e 直接可以找到两个E节点对象
建议使用方法二进行XML映射,这样基本是自动映射,不用手动对应属性。唯一不足XML代码量增大!
目前本人只测试过这两种xml实现方式,还是没有脱离for循环,没有找到合适FLEX支持转换类,研究ING 有结果与大家分享。

以上就是XML TO ArrayCollection 两种实现方式的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » Flex