# XML to multidimensional array

**URL:** <https://forum.kirupa.com/t/xml-to-multidimensional-array/282994>\
**Category:** flash\
**Created:** [March 1, 2009, 4:23am UTC](https://forum.kirupa.com/t/xml-to-multidimensional-array/282994 "2009-03-01T04:23:39Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![asthyanax](https://avatars.discourse-cdn.com/v4/letter/a/50afbb/32.png) [@asthyanax](https://forum.kirupa.com/u/asthyanax)\
**Post date:** [March 1, 2009, 4:23am UTC](https://forum.kirupa.com/t/xml-to-multidimensional-array/282994/1 "2009-03-01T04:23:39Z")

</div>

Hi,  
I need a little help about a dynamic array from an xml file. I have an issue put dynamic number of nodes into an array and then populate another array. Don’t know if i’m really clear so here’s what I do so far.  
Here’s my xml file:

```php

    <services>
        <service menu="MENU 1">
            <title>Title.</title>
            <txt><![CDATA[Content here.]]></txt>
            <projects>
                <project Uid="1" thumbnail="image1-tb.jpg"/>
                <project Uid="2" thumbnail="image2-tb.jpg"/>
                <project Uid="3" thumbnail="image3-tb.jpg"/>
            </projects>
        </service>    
        <service menu="MENU 2">
            <title>Title.</title>
            <txt><![CDATA[Content here.]]></txt>
            <projects>
                <project Uid="4" thumbnail="image1-tb.jpg"/>
                <project Uid="5" thumbnail="image2-tb.jpg"/>
            </projects>
        </service>    
</services

```

Now the code:

```php

//load the XML file
xmlContent = new XML();
xmlContent.ignoreWhite = true;
xmlContent.load(_root.XML_FOLDER+_root.SERVICES_FILE);
xmlContent.onLoad = function(success) {
    if (success) {
        var startServices:XMLNode = xmlContent.firstChild;
        var nbServices:Number = xmlContent.firstChild.childNodes.length;
        var totalServicesComplete:Number = nbServices-1;
        var menuArray:Array = new Array();
        var titleArray:Array = new Array();
        var contentArray:Array = new Array();
        var thumbArray:Array = new Array();            
        for (var i:Number = 0; i<nbServices; i++) {
            menuArray.push(startServices.childNodes*.attributes.menu);
            titleArray.push(startServices.childNodes*.childNodes[0].childNodes);
            contentArray.push(startServices.childNodes*.childNodes[1].firstChild.nodeValue);
            for (var j:Number = 0; j<startServices.childNodes*.childNodes[2].childNodes.length; j++) {
                //?????
            }
        }
    } else {
        contentTxt.htmlText = "<br /> XML file failed to load!";
    }
};

```

I’m not sure about how I can have an array that’s gonna look like:

id:1 thumbnail:th1.jpg, id:2 thumbnail:th2.jpg, id:3 thumbnail:th3.jpg  
for every node. So basically an array of arrays. My main problem is how then I can retrieve the length of each array and its elements.  
I tried something like:

```php

            for (var j:Number = 0; j<startServices.childNodes*.childNodes[2].childNodes.length; j++) {
                var tileObject:Object = {Uid:startServices.childNodes*.childNodes[2].childNodes[j].attributes.Uid, thumbnail:startServices.childNodes*.childNodes[2].childNodes[j].attributes.thumbnail};
                thumbArray.push(tileObject);
            }

```

Thanks for your help.
