Código HTML:
//Cargamos el XML favoritos = new XML(); favoritos.ignoreWhite = true; favoritos.onLoad = function (success){ if (success){ //Creamos los arrays donde iran los datos largo = favoritos.firstChild.childNodes.length; textos = new Array(largo); urls = new Array(largo); tipo = new Array(largo); //Llenar los arrays for (i=0; i<largo; i++){ textos[i] = favoritos.firstChild.childNodes[i].attributes.texto; urls[i] = favoritos.firstChild.childNodes[i].attributes.direcURL; tipo[i] = favoritos.firstChild.childNodes[i].attributes.tipo; } llenarList(); } else{ trace("No se pudo cargar el XML"); } } favoritos.load("List.xml"); function llenarList(){ //Atacheamos el componente attachMovie("List", "miLista", 1); //Propiedades miLista.setSize(200, 300); miLista.selectable = true; miLista.multipleSelection = false; miLista.hScrollPolicy = "auto"; miLista.vScrollPolicy = "on"; miLista.rowHeight = 18; //Le asignamos un proveedor de datos losDatos = new Array(); miLista.dataProvider = losDatos; miLista.iconField = "tipo"; //Metemos los datos en el dataProvider for (i=0; i<textos.length; i++){ losDatos.addItem({ label: textos[i], data: urls[i] }); } //Ordenamos el dataProvider losDatos.sortItemsBy("label", "ASC"); //Eventos miLista.addEventListener("change", alSeleccionar); favsGroup.addEventListener("click", alClicar); } //Listener para cuando seleccionamos una opción alSeleccionar = new Object(); alSeleccionar.change = function(evento){ getURL(losDatos.getItemAt(miLista.selectedIndex).data, "_blank"); } //Listener para seleccionar lo que queremos ver alClicar = new Object(); alClicar.click = function(evento){ //Si clicamos en WEBS if (evento.target.selection == webs_radio){ //Borramos lo anterior losDatos.removeAll(); //Metemos los datos en el dataProvider, SOLO LAS WEBS for (i=0; i<textos.length; i++){ if (tipo[i] == "web"){ losDatos.addItem({ label: textos[i], data: urls[i] }); } } //Ordenamos el dataProvider losDatos.sortItemsBy("label", "ASC"); } //Si clicamos en BLOGS if (evento.target.selection == blogs_radio){ //Borramos lo anterior losDatos.removeAll(); //Metemos los datos en el dataProvider, SOLO LOS BLOGS for (i=0; i<textos.length; i++){ if (tipo[i] == "blog"){ losDatos.addItem({ label: textos[i], data: urls[i] }); } } //Ordenamos el dataProvider losDatos.sortItemsBy("label", "ASC"); } //Si clicamos en TODOS if (evento.target.selection == todos_radio){ //Borramos lo anterior losDatos.removeAll(); //Metemos TODOS los datos en el dataProvider for (i=0; i<textos.length; i++){ losDatos.addItem({ label: textos[i], data: urls[i] }); } //Ordenamos el dataProvider losDatos.sortItemsBy("label", "ASC"); } }
Muchas gracias y espero que alguien me pueda ayudar.