Hola, hace poco e hecho un para cargar un menu con datos de un xml., aquí te dejo el código por si te sirve, este usa atributos en ved de contenido de nodo.
Código XML:
Código:
<?xml version="1.0" encoding="UTF-8"?>
<menu>
<enlace id="1" nombre="Google" enlace="http://www.google.es"/>
<enlace id="2" nombre="Yahoo" enlace="http://www.yahoo.es"/>
<enlace id="3" nombre="The flash blog" enlace="http://www.theflashblog.com"/>
<enlace id="4" nombre="The FWA" enlace="http://www.thefwa.com"/>
<enlace id="5" nombre="Foros del web" enlace="http://www.forosdelweb.com"/>
<enlace id="6" nombre="After Hours" enlace="http://www.after-hours.org"/>
</menu>
Código AS 2:
Código:
var xml:XML = new XML(); // Variable que almacenará los datos del XML
var menuList:Array = new Array(); // Array que almacenará los diferentes nodos del xml
var separata:Number = 4; // Separación entre los botones del menu
xml.ignoreWhite = true; // Sentencia para que 'xml' ignore los espacios en blanco
xml.onLoad = function() // Funcion que se iniciará en cuanto el xml haya sido cargado
{
var max:Number; // Variable de la funcion que nos dará el numero de enlaces que hay
var i:Number = 0; // Variable con la que recorreremos el Array para buscar los links el primer valor del array es siempre 0;
var temporal:XML; // Variable que almacenará los datos del array para sacar cada nombre del boton o el enlace
var posY:Number = 0; // Posición del Boton en "y"
menuList = xml.firstChild.childNodes;
max = menuList.length;
for(i; i<max; i++)
{
// Bucle para recorrer el array y sacar los datos
var _bot:MovieClip = _root.content_mc.attachMovie("Boton", "boton"+i+"_mc", i);
temporal = menuList[i]; // Asignamos el valor de menuList en i a temporal
_bot.nombreBot = temporal.attributes.nombre; // Creamos una variable interna dentro de bot con el valor del atributo nombre
_bot.enlaceBot = temporal.attributes.enlace; // Creamos una variable interna dentro de bot con el valor del atributo enlace
_bot.titulo_txt.text = _bot.nombreBot; // Asignamos al campo de texto dentro del boton su nombre
// Posicionamos los botones;
_bot._y = posY; // Posicionamos el boton en posY
posY += _bot._height + separata; // Incrementamos el valor de posY + el alto del boton + el valor de saparata
// Funcionalidad de los botones
_bot.onPress = function()
{
getURL(this.enlaceBot, "_self", "GET");
}
}
}
xml.load("dataMenu.xml");
stop();
Los archivos con los que hice el ejemplo están
aquí.
Espero que te sirva, el código esta comentado para explicar que hace. Un saludo