flex的httpservice接收xml返回出错

如题,大于1个的时候可以用arraycollection收集,但是只有一个的时候提示对象为空,好郁闷,怎么对策好呢?如何从result的属性里得知返回的只有一个对象呢?... 如题,大于1个的时候可以用arraycollection收集,但是只有一个的时候提示对象为空,好郁闷,怎么对策好呢?如何从result的属性里得知返回的只有一个对象呢? 展开
 我来答
lzp4881
2011-07-02 · TA获得超过2394个赞
知道大有可为答主
回答量:2825
采纳率:0%
帮助的人:2998万
展开全部
直接用ArrayCollection()强制转换,不要用new ArrayCollection()。用new ArrayCollection()会出错,出错信息:强制转换类型失败:无法将 mx.collections::ArrayCollection@5d89481 转换为 Array。

另外,如果通过HTTPService获清枯取到的XML中只有一条数据,例如:
<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类型的。见图:参看ArrayConlection的构造函数:public function ArrayCollection(source:Array = null)其参数是Array类型的,所以,只有一条记录的时候当然会出错了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式