0

我正在尝试使用 Flex/MXML 将 xml 数据加载到列表中。我有一种获取 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>

所以我的问题是:有没有办法解决这个问题?非常感谢任何帮助。

谢谢,雅各布

4

2 回答 2

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>
于 2013-01-23T05:19:18.440 回答
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,他让我指出了正确的方向!

于 2013-01-23T05:57:34.237 回答