我正在尝试使用Flex / MXML将xml数据加载到List中。我有一个获取XML并将其放入列表的方法(我知道它正在正确地读取数据)但是当我运行应用程序时,我得到了这个错误:
TypeError: Error #1034: Type Coercion failed: cannot convert "User1" to mx.collections.IList.
at Function/<anonymous>()[/Users/Jacob/Documents/Adobe Flash Builder 4.6/App/src/views/MainMenu.mxml:52]
(我删除了一些错误日志)
我看到它说错误发生在第52行,如下所示:
<s:List id="xml_list" x="44" y="89" width="232" height="341" dataProvider="{get_xml.lastResult.Array.Item}"></s:List>
我已经完成了一些测试,并且我已经意识到只有当要添加的数据是1项时才会出现错误。如果有更多的1项,那么它完美地工作并将数据放入列表中。
当XML有一个Item时,它看起来像这样:
<Array>
<Item>Hello</Item>
</Array>
当XML有两个项目时,它看起来像这样:
<Array>
<Item>Hi</Item>
<Item>Hola</Item>
</Array>
所以我的问题是:有没有办法解决这个问题?任何帮助都非常感谢。
谢谢, 雅各布
答案 0 :(得分:0)
试试这个:
<s:List id="xml_list" x="44" y="89" width="232" height="341" >
<s:dataProvider>
<s:XMLListCollection source="{get_xml.lastResult.Array.Item}" />
</s:dataProvider>
</s:List>
答案 1 :(得分:0)
我已经解决了!我使用了Serge Him的帖子,但稍微改变了他的榜样。我已经开始工作的代码是:
<s:List id="games_list" x="44" y="89" width="232" height="341">
<s:dataProvider>
<s:ArrayCollection source="{get_games.lastResult.Games.Name}"/>
</s:dataProvider>
</s:List>
非常感谢Serge Him让我指出了正确的方向!