2012-07-09 57 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