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

Reply via email to