Thanks Steven! Forgot to mention that I'm using AS3. I will try to write your method in AS3 and see if it fits my needs.
Cheers, Sascha > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:flashcoders- > [EMAIL PROTECTED] On Behalf Of Steven Sacks | BLITZ > Sent: Tuesday, 12 December, 2006 13:05 > To: Flashcoders mailing list > Subject: RE: [Flashcoders] Which Data Structure is good for this? > > function XML2AS(n, r) { > var a, d, k; > if (r[k=n.nodeName] == null) r = ((a=r[k]=[{}]))[d=0]; > else r = (a=r[k])[d=r[k].push({})-1]; > if (n.hasChildNodes()) { > if ((k=n.firstChild.nodeType) == 1) { > r.attributes = n.attributes; > for (var i in k=n.childNodes) XML2AS(k[i], r); > } else if (k == 3) { > a[d] = new String(n.firstChild.nodeValue); > a[d].attributes = n.attributes; > } > }else r.attributes = n.attributes; > } > > > Usage example: > > var xmlObj:Object = {}; > XML2AS(xml.firstChild, xmlObj); > > var dType:String = xmlObj.resourceList[0].display[0].attributes.type; > var pArray:Array = > xmlObj.resourceList[0].display[0].displayProperties[0].property; > > var i:Number = pArray.length; > while (i--) { > trace(pArray[i].attributes.name + "," + pArray[i].attributes.value); > } > > > > > -----Original Message----- > > From: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED] On Behalf Of Sascha > > Sent: Monday, December 11, 2006 7:54 PM > > To: 'Flashcoders mailing list' > > Subject: [Flashcoders] Which Data Structure is good for this? > > > > I would be interested in recommendations about what kind of > > data structure is best used in the following situation. > > I'm loading in a XML file with a typical recursive structure, > > then the data from it should be parsed into a data storage > > object and this data should be accessible globally through > > the application. The XML file has a structure like this: > > > > <resourceList> > > <display type="1"> > > <displayProperties> > > <property name="foo" value="doo"/> > > <property name="fee" value="faa"/> > > </displayProperties> > > <displayObjects> > > <object id="1" file="foo/etc/file.xml"/> > > <object id="2" file="foo/etc/file2.xml"/> > > <object id="3" file="foo/etc/file3.xml"/> > > </displayObjects> > > <backgrounds> > > < backgrounds id="125" file="foo/etc/bg.png"/> > > </ backgrounds> > > </display> > > <data> > > <dataTypes> > > <property name="foo" value="doo"/> > > <property name="fee" value="faa"/> > > </dataTypes> > > </data> > > <etc> > > <somethingElse> > > <property name="foo" value="doo"/> > > </ somethingElse > > > </etc> > > > > ... The XML is being extended by the time but it retains the > > shown hierarchical structure. I want to be able to keep a > > similar structure in memory but I don't want to keep it as an > > XML object. I was thinking about using a custom object and > > populate it with HashMaps but then the hierarchy would be too flat. > > I would appreciate it if somebody could give me some > > suggestions what kind of data structure is a good choice for > > this as I don't have much experience with trees, lists and > > other more complex structures. > > > > Thanks a lot, > > Sascha > > > > > > _______________________________________________ > > [email protected] > > To change your subscription options or search the archive: > > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > > > Brought to you by Fig Leaf Software > > Premier Authorized Adobe Consulting and Training > > http://www.figleaf.com http://training.figleaf.com > > > _______________________________________________ > [email protected] > To change your subscription options or search the archive: > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > Brought to you by Fig Leaf Software > Premier Authorized Adobe Consulting and Training > http://www.figleaf.com > http://training.figleaf.com _______________________________________________ [email protected] To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com

