La idea es mostrar la discografia de un artista determinado y las letras de cada una de sus canciones. Para estas ultimas tenia pensado cargarlas de un arhivo te texto utilizando loadVars.
Mi archivo XML es el siguiente:
Código :
<?xml version="1.0" encoding="UTF-8"?> <discografias> <album nombre="Fijacion Oral Vol. 1" fecha="6 de Junio de 2005"> <cancion nombre="En Tus Pupilas" letra="fov101" duracion="4:24"/> <cancion nombre="La Pared" letra="fov102" duracion"3:20"/> <cancion nombre="La Tortura" letra="fov103" duracion"3:35"/> <cancion nombre="Obtener un Sí" letra="fov104" duracion"3:21"/> <cancion nombre="Día Especial" letra="fov105" duracion"4:25"/> <cancion nombre="Escondite Inglés" letra="fov106" duracion"3:10"/> <cancion nombre="No" letra="fov107" duracion"4:47"/> <cancion nombre="Las de la Intuición" letra="fov108" duracion"3:42"/> <cancion nombre="Día de Enero" letra="fov109" duracion"2:55"/> <cancion nombre="Lo Imprescindible" letra="fov110" duracion"3:58"/> <cancion nombre="La Pared (Versión Acústica)" letra="fov111" duracion"2:41"/> <cancion nombre="La Tortura (Mix)" letra="fov112" duracion"3:12"/> </album> </discografias>
Pero el problema esta en que solo me muestra el primer nodo. Me explico, si hay mas de un album solo me muestra el primero y de este solo la primera cancion.
Con el siguiente codigo trate de ver como funciona, ya lo hice de varias formas y no lo he conseguido hasta el momento.
Código :
var discos:XML = new XML();
discos.ignoreWhite = true;
discos.load("discografia.xml");
discos.onLoad = function( succes:Boolean ){
if( succes ){
album = this.firstChild.childNodes[0];
nombAlb = album.attributes.nombre;
fechAlb = album.attributes.fecha;
trace( "Album: " + nombAlb );
trace( "Fecha: " + fechAlb );
cancion = album.childNodes[0];
nomCan = cancion.attributes.nombre;
letCan = cancion.attributes.letra;
durCan = cancion.attributes.duracion;
trace( "Cancion 1: " + nomCan );
trace( "Letra: " + letCan );
trace( "Duracion: " + durCan );
trace( album.childNodes );
cancion2 = album.childNodes[0];
nomCan2 = cancion2.attributes.nombre;
letCan2 = cancion2.attributes.letra;
durCan2 = cancion2.attributes.duracion;
trace( "Cancion 2: " + nomCan2 );
trace( "Letra: " + letCan2 );
trace( "Duracion: " + durCan2 );
}
else{
trace( "Error al cargar xml" );
}
}
Me gustaria que me ayudaran con el codigo que necesito para acceder acada nodo y a sus atributos.
Gracias.
