I don't use XML at all any more - I use typed objects via AMF. This cuts down the data traveling across the network significantly.
I have multiple nested objects (I don't know whether nested is the right word - I have objects that contain other objects) being returned but I have not found it necessary to nest more than three levels so have not come across your problem. Tracy is the XML/e4x expert. When he has time, I'm sure he'll chime in. --- In flexcoders@yahoogroups.com, Nick Middleweek <n...@...> wrote: > > Hey Valdor... Thanks for the tip there. > > Have you ever had problems receiving 4th level nested data from an HTTP > Service? We're trying to receive it as e4x or xml but it's coming back as > untyped Objects. I'm guessing this is a bug in the Flex framework... > > > Cheers, > Nick > > > > > 2010/1/6 valdhor <valdhorli...@...> > > > > > > > Nick > > > > Just for future reference... > > > > > > var myContact : ContactPerson = new ContactPerson(); > > myContact = ContactPerson(myPerson); > > > > is a good example of how memory leaks occur. You create a new variable of a > > specific type and then allocate some memory for it with the new operator. > > The variable is just a pointer to a specific piece of memory. You then > > immediately change the pointer to point at another piece of memory. The > > original piece of memory that you allocated is now dangling with no way to > > access it and will need to wait on the garbage collector to reclaim it. > > > > The proper way to do what you are trying is: > > > > var myContact:ContactPerson = ContactPerson(myPerson); > > > > > > --- In flexcoders@yahoogroups.com <flexcoders%40yahoogroups.com>, Nick > > Middleweek <nick@> wrote: > > > > > > Hello... > > > > > > We've just run into a problem... Has anyone else come across this before? > > > > > > We're making HTTP Service calls and we're getting back nested data. We > > have > > > set the resultFormat="e4x" which we then parse into known Object types, > > such > > > a IContactData, IInvoiceDetails... > > > > > > The Problem: With some service calls, the data returned has 4 or more > > levels > > > of nested data. In these cases, Flex isn't giving us XML. It is just > > > returning an untyped Object with the nested data. > > > > > > If the returned data has 3 levels or less of nested data then we get XML. > > > > > > > > > We then thought, ok... The untyped Object returned by Flex does have all > > the > > > properties required to Cast it to our typed Object, e.g. IContactData... > > > > > > But we are getting a "Coercion failed" message by the Compiler. Here's a > > > basic example of the problem... > > > > > > > > > var myPerson : Object = new Object(); > > > myPerson.age = "25"; > > > myPerson.sex = "dunno" > > > myPerson.name = "Nick"; > > > > > > > > > var myContact : ContactPerson = new ContactPerson(); > > > myContact = ContactPerson(myPerson); > > > // Where ContactPerson is a typed Object with age, sex and name String > > > properties. > > > > > > > > > > > > So has anyone managed to solve the 4 levels of nested data problem from > > an > > > HTTP Service call? > > > > > > and :) > > > > > > Why can't we cast an untyped Object into a typed Object? :) > > > > > > > > > Cheers guys... > > > > > > Nick > > > > > >