I use "new ArrayCollection(ArrayUtil.toArray(event.result))". It works for 1 or 
more items in the result.

--- In flexcoders@yahoogroups.com, "Laurence" <lmacne...@...> wrote:
>
> I'm trying to read data from an XML file, and put that data into an 
> ArrayCollection.
> 
> This works great when I have more than one "object" in the XML file.  But 
> when there's only one "object" in there, my HTTPService RPC returns it as an 
> Object instead of an ArrayCollection of Objects.
> 
> So when I assign the event.result to my ArrayCollection I get a "Cannot 
> Convert to ArrayCollection" error message...
> 
> Let me give an example:
> 
> MyXMLFile.xml:
> <people>
>    <person>
>       <firstName>Joe</firstName>
>       <lastName>Smith</lastName>
>    </person>
> </people>
> 
> If I have more than one <person></person> pair in my XML file, then they get 
> returned as an ArrayCollection in event.result.people.person.  But with only 
> one <person></person> pair in my XML file, event.result.people.person is an 
> ObjectProxy -- which can't be converted to an ArrayCollection, apparently.
> 
> If event.result.people had a length property, I could just loop over it for 
> {length} number of times and addItem() each <person> to my ArrayCollection -- 
> but I see no length property on the event.result...  So how do I get this to 
> work?  I won't know in advance how many <person></person> pairs are in the 
> XML file, so I can't make any assumptions about the length...  Could be 1, 
> could be 100...
> 
> Is there a way to programmatically tell whether or not 
> event.result.people.person is an ArrayCollection or an ObjectProxy?  If I 
> could tell what it was, then I could use that information to let the program 
> decide how to deal with it...
> 
> Thanks for any suggestions...
> Laurence MacNeill
> Mableton, Georgia, USA
>


Reply via email to