加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex XML转ArrayCollection的问题

发布时间:2020-12-15 05:00:27 所属栏目:百科 来源:网络整理
导读:直接用ArrayCollection()强制转换,不要用new ArrayCollection()。用new ArrayCollection()会出错,出错信息: 强制转换类型失败:无法将 mx.collections::ArrayCollection@5d89481 转换为 Array。 另外,如果通过HTTPService获取到的XML中只有一条数据,例

直接用ArrayCollection()强制转换,不要用new ArrayCollection()。用new ArrayCollection()会出错,出错信息:强制转换类型失败:无法将 mx.collections::ArrayCollection@5d89481 转换为 Array。

另外,如果通过HTTPService获取到的XML中只有一条数据,例如:
?






参看ArrayConlection的构造函数:
<tips>
<tip>
<no>16</no>
<date>2010/03/19</date>
<content>内容</content>
</tip>
</tips>
就不能使用var myData:ArrayCollection = ArrayCollection(event.result.tips.tip)
这种方法创建ArrayCollection
要这样:
var data:Array = new Array({no:event.result.tips.tip.no,date:event.result.tips.tip.date,content:event.result.tips.tip.content});
myData = new ArrayCollection(data);


通过调试,可以看到如果返回的是多条记录,event.result.tips.tip是ArrayConlection类型的,
而如果只有一条记录,就是ObjectProxy类型的。见图:
public function ArrayCollection(source:Array = null)其参数是Array类型的,所以,只有一条记录的时候当然会出错了。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读