Thanks, Tracy. I have a similar Premium class on the server side with
Java so it's a good idea to do the same on the client with Flex.

Now on to more coding and debugging :)

--- In [email protected], "Tracy Spratt" <[EMAIL PROTECTED]> wrote:
>
> Yes, "MyVO" would be a custom object that uses strongly typed
> properties.  This approach it the ideal from a performance standpoint,
> since access of strongly typed property values is significantly faster
> that either dynamic object properties, or XML.
> 
>  
> 
> The blog example you referenced in the other post produces an
> ArrayCollection of XML nodes.  While this is ok, it kinda does not make
> much sense.  If XML is ok for the items in the collection, just use
> XMLListCollection.  A loop is not necessary.  But this does not provide
> the advantages of a VO (ValueObject), which, in addition to the
> performance benefits, allows you to have calculated fields, and special
> methods like the "fill" method I alluded to earlier.
> 
>  
> 
> Note, I use XML almost always, unless I need special work in the item
> object.  I have not had any performance issues with XML.  This is
> usually reported when scrolling with hundreds of visible itemrenderers
> 
>  
> 
> Tracy
> 
>  
> 
> ________________________________
> 
> From: [email protected] [mailto:[EMAIL PROTECTED] On
> Behalf Of oneworld95
> Sent: Tuesday, October 28, 2008 3:50 PM
> To: [email protected]
> Subject: [flexcoders] Re: Read XML data in as ArrayCollection
> 
>  
> 
> What is the "MyVO"? Is that a custom object class? Thanks.
> 
> --- In [email protected] <mailto:flexcoders%40yahoogroups.com>
> , "Tracy Spratt" <tspratt@> wrote:
> >
> > Please, do, the default resultFormat is evil ;)
> > 
> > 
> > 
> > Here is a quick, untested start.
> > 
> > _acPremiums = new ArrayCollection()
> > 
> > var xmlResult:XML = XML(event.result);
> > 
> > var xlPremiums:XMLList = xmlResult.premium; //or xmlResult.children();
> > 
> > var xmlPremium:XML
> > 
> > var voNew:MyVO;
> > 
> > for () var i:int=0;i<xlPremiums.length();i++) {
> > 
> > xmlPremium = xlPremiums[i];
> > 
> > voNew = new MyVO;
> > 
> > voNew.fill(xmlPremium); //assumes a fill method. You could also
> > simply assign the vo properties here
> > 
> > _acPremiums.addItem(voNew);
> > 
> > }
> > 
> > 
> > 
> > Tracy
> > 
> > 
> > 
> > 
> > 
> > ________________________________
> > 
> > From: [email protected] <mailto:flexcoders%40yahoogroups.com>
> [mailto:[email protected] <mailto:flexcoders%40yahoogroups.com>
> ] On
> > Behalf Of oneworld95
> > Sent: Tuesday, October 28, 2008 2:55 PM
> > To: [email protected] <mailto:flexcoders%40yahoogroups.com> 
> > Subject: [flexcoders] Re: Read XML data in as ArrayCollection
> > 
> > 
> > 
> > Hi, Tracy. Hadn't thought about that. I'll work on implementing your
> > suggestion. Thanks.
> > 
> > --- In [email protected]
> <mailto:flexcoders%40yahoogroups.com>
> <mailto:flexcoders%40yahoogroups.com>
> > , "Tracy Spratt" <tspratt@> wrote:
> > >
> > > That only works because the default resultFormat causes Flex to
> cnvert
> > > your xml into a nested structure of dynamic objects. One result of
> is
> > > is that child groups are converted to Array.
> > > 
> > > 
> > > 
> > > I advise you do not do this. You lose the benefits of e4x
> expressions,
> > > and wind up with loosely typed objects everywhere. The conversion
> > > always happens, so you do not gain any performance. Also the
> > conversion
> > > modifies your data, turning strings into numbers where it can, and
> > stuff
> > > like that. 
> > > 
> > > 
> > > 
> > > You will be better served in the long run if you simply loop over
> the
> > > XMLList and assign the attribute or child values to an instance of a
> > > strongly typed value object. 
> > > 
> > > 
> > > 
> > > Tracy
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 
> > > ________________________________
> > > 
> > > From: [email protected]
> <mailto:flexcoders%40yahoogroups.com>
> <mailto:flexcoders%40yahoogroups.com>
> > [mailto:[email protected]
> <mailto:flexcoders%40yahoogroups.com>
> <mailto:flexcoders%40yahoogroups.com>
> > ] On
> > > Behalf Of oneworld95
> > > Sent: Tuesday, October 28, 2008 2:19 PM
> > > To: [email protected] <mailto:flexcoders%40yahoogroups.com>
> <mailto:flexcoders%40yahoogroups.com> 
> > > Subject: [flexcoders] Re: Read XML data in as ArrayCollection
> > > 
> > > 
> > > 
> > > Never mind! Figured it out:
> > > 
> > > arrCol = event.result.premiums.premium as ArrayCollection
> > > 
> > > Also took off the resultFormat from the HTTPService call.
> > > 
> > > --- In [email protected]
> <mailto:flexcoders%40yahoogroups.com> 
> > <mailto:flexcoders%40yahoogroups.com>
> > <mailto:flexcoders%40yahoogroups.com>
> > > , "oneworld95" <oneworld95@> wrote:
> > > >
> > > > Hi. I've got a Flex app that receives XML (resultFormat = "e4x")
> > data
> > > > from a servlet in this format,
> > > > 
> > > > <premiums>
> > > > <premium id="ABCDEF01" startcount="0" currentcount="0">
> > > > <category>CD</category>
> > > > <description>The CD Description</description>
> > > > <image id="3095">
> > > > <filename>ABCDEF01__1225202763673.jpg</filename>
> > > > </image>
> > > > </premium>
> > > > <premium id="DEFGH01" startcount="0" currentcount="0">
> > > > <category>DVD</category>
> > > > <description>DVD Description</description>
> > > > <image id="3078">
> > > > <filename>DEFGH01__1225132169948.jpg</filename>
> > > > </image>
> > > > </premium>
> > > > </premiums>
> > > > 
> > > > I need to convert it to an ArrayCollection and then an array to
> > > > manipulate the results (using the slice method). Any solutions?
> > > Thanks.
> > > >
> > >
> >
>


Reply via email to