Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/02/2011, 11:20
maxpower78
 
Fecha de Ingreso: julio-2008
Mensajes: 74
Antigüedad: 15 años, 10 meses
Puntos: 1
Duda con cobobox y xml

Hola a todos, tengo una duda, con un par de combobox en flash, resulta que tengo un xml con esta estructura:
Código:
<videos>
    <edicion ID="0" NOMBE="VIDEOS 1">
        <fecha ID="9">
              <flv ID="0" TITULO="TITULO VIDEO 1" URL="video1.flv" />
              </fecha>
	<fecha ID="10">
              <flv ID="1" TITULO="TITULO VIDEO 2" URL="video2.flv" />
              </fecha>
         <fecha ID="11">
             <flv ID="2" TITULO="TITULO VIDEO 3" URL="video3.flv" />
             </fecha>
        </edicion>
    <edicion ID="1" NOMBE="VIDEOS 2">
	  <fecha ID="1">
             <flv ID="0" TITULO="TITULO VIDEO 1" URL="video4.flv" />
	     </fecha>
	  <fecha ID="2">
	     <flv ID="1" TITULO="TITULO VIDEO 2" URL="video5.flv" />
	     </fecha>
	  <fecha ID="3">
	     <flv ID="2" TITULO="TITULO VIDEO 3" URL="video6.flv" />
	     </fecha>
	</edicion>
</videos>
y necesito introducir en un combobox el atributo "NOMBRE"

Por otro lado en otro combobox el nodo fecha ID que dependerá de que atributo NOMBRE escojas en el anterior combobox.

Por último en un clip de película creo unos botones de manera dinámica en los que aparecerá el atributo TITULO de los vídeos y que deverán llamar a la URL del vídeo.

Lo que no logro hacer es que los combobox me recojan los valores del xml.

En mi AS tengo lo siguiente:
Código:
var xmlVideos:XML = new XML();
xmlVideos.ignoreWhite = true;
function doLoadXmlVideos() {
	xmlVideos.onLoad = function(success:Boolean):Void {
		if(success) {
			videosTotales = xmlVideos.firstChild.childNodes.length;
			
			for(var i:Number=0; i<videosTotales; i++) {
				tituloVideo[i] = xmlVideos.firstChild.childNodes[i].attributes.NOMBE;
				aDT[i] = xmlVideos.firstChild.childNodes[i].childNodes.length;
				aVT[i] = new Array(aDT[i]);
				aFechas[i] = new Array(aDT[i]);
				aData[i] = new Array(aDT[i]);
				
				for(var j:Number=0; j<aDT[i]; j++) {
					aVT[i][j] = xmlVideos.firstChild.childNodes[i].childNodes[j].childNodes.length;
					aFechas[i][j] = xmlVideos.firstChild.childNodes[i].childNodes[j].attributes.ID;
					
					aData[i][j] = new Array(aVT[i][j]);
					
					for(var k:Number=0; k<aVT[i][j]; k++) {
						aData[i][j][k] = new Array(2);
						
						aData[i][j][k][0] = xmlVideos.firstChild.childNodes[i].childNodes[j].childNodes[k].attributes.TITULO;
						aData[i][j][k][1] = xmlVideos.firstChild.childNodes[i].childNodes[j].childNodes[k].attributes.URL;
					}
				}
			}
                                domenuComboVid();
			}
		} else {
			trace('no se a podido cargar el archivo XML');
		}
	}
	xmlVideos.load(vMainRoot + "xml/videos.xml");
}
y para que el primer combobox recoja los valores del xml:

Código:
function domenuComboVid() {
	// Limpia Datos:
	        misVideos.removeAll();
	// Agregar datos:
	for(var i:Number=0; i<videosTotales_f; i++) {
		misVideos.addItem( {data:i, label:tituloVideo[i]} );
	}
}
Pero no me carga nada.

¿Como podría cargar los datos en los combobox?

Mucha gracias!

Última edición por maxpower78; 24/02/2011 a las 11:57