Tracy, I see your point in using e4x expressions and the performance hit i take just to use dynamic nested structure. It won't take much for me to convert my code to make use of e4x functionality.
I have started doing that and i couldn't find a way to search and match attributes, for eg. <property name="username" value="me"/> <property name="account_status" value="active"/> <property name="session_id" value="h5142ner7vq5oitqcvi0"/> <property name="salt" value="e9d6b14092524122254"/> <property name="signup_date" value="2007-08-16"/> <property name="now" value="2008-03-04"/> <property name="first_name" value="Nayan"/> how do i retrieve the value attribute associated with the attribute name="username" ? I know i could always run a for loop and then store the data as name-value pairs in an object but i want to know if there is a way doing it using the xmllist class. testList.property.(@name == "account_status")[EMAIL PROTECTED] something like this, it will be really helpful since something like this would be the beginning. thanks for all your help. Nayan On Mon, Mar 3, 2008 at 7:12 PM, Tracy Spratt <[EMAIL PROTECTED]> wrote: > > > > > > > > > > As I suspected, you are not using xml: > > "I haven't set the resultformat of my httpservice, its > using the default format." > > > > The default resultFormat is to have Flex convert your XML into a nested > dynamic object structure. This converts XMLLists into arrays, among other > things. > > > > Generally this is bad. There is no benefit to a nested dynamic structure > over XML and in fact, there are many reasons to use XML, e4x expressions > being chief among those reasons. Your current situation is actually the > worst of both worlds: you lose the e4x functionality and suffer from the > performance hits of non-strongly-typed data access. > > > > The only reason to stay on this course is laziness. > > > > If you absolutely insist, I will tell you how to get a ArrayCollection out > of the mess you have, but it would be a mistake. Two better options are: > > * Use XMLListCollection > > * Use e4x and convert your XMLList into an ArrayCollection of strongly typed > data objects. This is a manual process of looping over the XMLList and > building each object and then adding it to the ArrayCollection > > > > > > Tracy > > > > ________________________________ > > > From: [email protected] [mailto:[EMAIL PROTECTED] On > Behalf Of Nayan Savla > Sent: Monday, March 03, 2008 7:11 PM > To: [email protected] > Subject: Re: [flexcoders] extracting items from array collection getItemAt > doesn't work > > > > > > > the url parameter for the httpService is a XML file so yes, > > var bigCollection:ArrayCollection = data.result.myBigList as > ArrayCollection; //I am reading an xml file. > > this is true. I haven't set the resultformat of my httpservice, its > using the default format. > > Also in the debugger i see that the variable bigCollection stores the > xml file as a object list and as i mentioned i can easily extract the > array from this using, > > var smallCollection:Array = bigCollection.toArray().slice(0,10); > //this works just fine. > > the data in this array is as expected, What i don't understand is why > i can't convert it into an ArrayCollection. > > Nayan > > On Mon, Mar 3, 2008 at 3:39 PM, Tracy Spratt <[EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > > > > > > > > Have you verified this line below? It raises doubts: > > > > > > var bigCollection:ArrayCollection = data.result.myBigList as > > ArrayCollection; //I am reading an xml file. > > > > > > > > First, XML will only yield an XMLList and you cannot cast an XMLList to > an > > ArrayCollection. > > > > > > > > I suspect you may not have xml as you think, but instead a nested object > > structure. It depends on how you are getting your data. If that is so, it > > is not a good way to do it. Have you set your resultFormat="e4x"? > > > > > > > > If you are getting XML from the server, why not use XMLListCollection? > > > > > > > > If you do not want to use that, you should convert your XMLList into an > > ArrayCollection of strongly typed data objects. This is a manual process > of > > looping over the XMLList and building each object and then adding it to > the > > AC. > > > > > > > > Tracy > > > > > > > > ________________________________ > > > > > > From: [email protected] [mailto:[EMAIL PROTECTED] On > > Behalf Of Nayan Savla > > Sent: Monday, March 03, 2008 4:00 PM > > To: [email protected] > > Subject: [flexcoders] extracting items from array collection getItemAt > > doesn't work > > > > > > > > > > > > > > > > Hi All, > > > > I am trying to get data from an ArrayCollection and i tried various > > things without any luck. > > > > this is the code, > > > > var bigCollection:ArrayCollection = data.result.myBigList as > > ArrayCollection; //I am reading an xml file. > > > > 1) var smallCollection:ArrayCollection = > > bigCollection.getItemAt(0,10); //i believe this is the correct method > > but doesn't work > > > > 2) var smallCollection:ArrayCollection = > > bigCollection.toArray().slice(0,10) as ArrayCollection; //this returns > > null > > > > 3) var smallCollection:Array = bigCollection.toArray().slice(0,10); > > //this works just fine. > > > > any ideas why i can't just use the second statement, please ignore my > > knowledge of flex if i am missing something fundamental. > > > > thanks > > Nayan > > > > > >

