2012-07-09 59 views
0

我正在尝试使用Flex移动应用程序进行开发。Flex移动处理XML数据

我想用HttpService连接到一个返回XML数据的url。

<s:HttpService id="test" url="UrlToConnectTo" /> 

而在脚本:通过返回的处理数据的

private function init() :void 
{ 
    test.send(); 
} 

而且我绑定到列表中的服务的lastResult ..

<s:List id="list" top="0" bottom="0" left="0" right="0" 
    dataProvider="{test.lastResult.Item.FiscalYear }" 
     labelField="ItemDescription"/> 

是否有其他替代方法服务?我想检查数据,但是我不确定在绑定到列表(array,arraycollection ??)后它是什么类型的数据。

附注: 我也可以通过JSON获取数据,但我无法将正确检索的数据绑定到列表控件。

欣赏提供的任何链接/见解。

回答

1
Are there other alternate means of handling data returned by services? 

是的,s,使用​​处理程序。从概念上讲是这样的:

<s:HttpService id="test" url="UrlToConnectTo" result="onResult(event)" /> 

而且你的处理方法:

protected function onResult(event:ResultEvent):void{ 
    trace(event.result); 
    // convert XML result to XMLListCollection 
    var myCollection : XMLListCollection = new XMLListCollection(event.result as XML); 
    // convert array result to ARrayCollection 
    var myCollection : ArrayCollection = new ArrayCollection(event.result as Array); 
} 

最有可能你会想你的数据从任何返回到的东西在Flex中更有用的转换。作为两个示例,XML到XMLList或Array到ArrayCollection。

+0

你可以修改你的答案来提供例子,如果说,返回的数据是XML或JSON?我将如何将它转换为XML(XMLList)或Array(ArrayCollection)? – Batuta 2012-07-09 20:33:37

+0

对不起,我没有意识到我不正确地格式化了我的结果处理程序,我解决了这个问题。就我所知,您将无法将JSON投射到XML或ArrayCollection中。你必须通过某种转换来运行它们。尽管如此,您应该可以使用XML作为源创建新的XMLListCollection。我会更新我的问题。 – JeffryHouser 2012-07-09 20:41:55

+0

如果JSON返回的集合可以转换为另一种数据类型,那真的很有帮助。我会测试你之后提供的那个,看看它是如何发展的。 – Batuta 2012-07-09 21:28:43