At the moment i am using assoc array and a regular array, which isn’t the best way.
Here’s my .xml file
<?xml version="1.0" encoding="iso-8859-1"?>
<menu name="mainmenu">
<submenu name="submenu A" gotoURL="/a">
<item name="A 1" gotoURL="/a1"/>
<item name="A 2" gotoURL="/a2"/>
<item name="A 3" gotoURL="/a3"/>
</submenu>
<submenu name="submenu B" gotoURL="/b">
<item name="B 1" gotoURL="/b1"/>
<item name="B 2" gotoURL="/b2"/>
</submenu>
<item name="D" gotoURL="/d"/>
<item name="E" gotoURL="/e"/>
<submenu name="submenu F" gotoURL="/f">
<item name="F 1" gotoURL="/f1"/>
<item name="F 2" gotoURL="/f2"/>
<item name="F 3" gotoURL="/f3"/>
</submenu>
<item name="G" gotoURL="/g"/>
</menu>
and my as
function loadMenu(succes) {
if (succes) {
var xmlNode = this.firstChild.childNodes;
for (var i = 0; i<xmlNode.length; i++) {
var websiteItems = xmlNode*;
//to do if is the submenu node
if (websiteItems.nodeName == 'submenu') {
var tempSubmenuNav:Array = new Array();
tempSubmenuNav.gotoURL = websiteItems.attributes.gotoURL;
tempSubmenuNav.name = websiteItems.attributes.name;
menuArray.push(tempSubmenuNav);
for (var j:Number = 0; j<websiteItems.childNodes.length; j++) {
//we need to create a submenu
var tempSubmenu:Array = new Array();
tempSubmenu.name = websiteItems.childNodes[j].attributes.name;
tempSubmenu.gotoURL = websiteItems.childNodes[j].attributes.gotoURL;
tempSubmenu.submenuName = websiteItems.nodeName;
// "test";
tempSubmenu.submenuID = i;
menuArray*.push(tempSubmenu);
}
}
if (websiteItems.nodeName == 'item') {
var tempMenu:Array = new Array();
tempMenu.gotoURL = websiteItems.attributes.gotoURL;
tempMenu.name = websiteItems.attributes.name;
menuArray.push(tempMenu);
}
}
createMainMenu(5, 30, this.getNextHighestDepth(), menuArray);
showSubmenu();
} else {
content = "file not loaded!";
}
}