i get this error when i retrieve an XML that only 开发者_StackOverflow社区has 1 node (no repeating nodes) and i try to store in an ArrayCollection. -When I have MORE than 1 "name" nodes...i do NOT get an error.
TypeError: Error #1034: Type Coercion failed: cannot convert "XXXXXX" to mx.collections.ArrayCollection.
this error occurs as the line of code:
myList= e.result.list.name;
Why can't ArrayCollection work with a single node? I'm using this ArrayCollection as a dataprovider for a Component -is there an alternative I can use that will take BOTH single and repeating nodes as well as work as a dataprovider? Thanks in advance!
code:
[Bindable]
private var myList:ArrayCollection= new ArrayCollection();
private function getList(e:Event):void{
var getStudyLoungesService:HTTPService = new HTTPService();
getStuffService.url = "website.com/asdf.php";
getStuffService.addEventListener(ResultEvent.RESULT, onGetList);
getStuffService.send();
}
private function onGetList(e:ResultEvent):void{
myList= e.result.list.name;
}
The resultFormat
should be set to e4x
:
var getStudyLoungesService:HTTPService = new HTTPService();
getStuffService.url = "website.com/asdf.php";
getStuffService.resultFormat = "e4x";
getStuffService.addEventListener(ResultEvent.RESULT, onGetList);
getStuffService.send();
You can then retrieve the results as follows:
new XMLListCollection(e.result.list.name);
(All credits to Amarghosh, been banging my head on that one for hours, but nearly missed his comment!)
You cannot directly assign an XML
or even an XMLList
to a variable of type ArrayCollection
. Use an XMLListCollection
and pass the data to its constructor.
[Bindable]
private var myList:XMLListCollection;
myList = new XMLListCollection(e.result.list.name);
精彩评论