Se me presenta un problema en la lectura de un XML con la siguiente estructura:
Código HTML:
 <?xml version="1.0" encoding="utf-8"?> <trivia> <pregunta>Pregunta 1 <respuesta valor="cierto">Cierto</respuesta> <respuesta valor="falso">falso</respuesta> <respuesta valor="falso">falso</respuesta> </pregunta> <pregunta>Pregunta 2 <respuesta valor="cierto">Cierto</respuesta> <respuesta valor="falso">falso</respuesta> <respuesta valor="falso">falso</respuesta> </pregunta> <pregunta>Pregunta 3 <respuesta valor="cierto">Cierto</respuesta> <respuesta valor="falso">falso</respuesta> <respuesta valor="falso">falso</respuesta> </pregunta> </trivia>
El problema es que teniendo varios elementos, flash no lee el número exacto. Siempre devuelve: elementos - 1. Es decir, si tengo 20 elementos, devuelve 19.
El código para leer el XML es este:
Código PHP:
   
//Cargar XML de los trivia
trivia = new XML();
trivia.ignoreWhite = true;
trivia.onLoad = function (success){
    //Porcentajes de carga
    totalxml = trivia.getBytesTotal();
    cargadoxml = trivia.getBytesLoaded();
    porcentajexml = Math.round((cargadoxml/totalxml)*100);
    //Si esta cargado del todo
    if (porcentajexml >= 100) {
        //Cogemos el numero de noticias
        long = trivia.firstChild.childNodes.length;
        preguntas = new Array();
        respuestas1 = new Array();
        respuestas2 = new Array();
        respuestas3 = new Array();
        //Shortcuts del XML
        for (i=0; i<long; i++)  {
            preguntas[i] = trivia.firstChild.childNodes[i].firstChild.nodeValue;
            respuestas1[i] = trivia.firstChild.childNodes[i].childNodes[1].firstChild.nodeValue;
            respuestas2[i] = trivia.firstChild.childNodes[i].childNodes[2].firstChild.nodeValue;
            respuestas3[i] = trivia.firstChild.childNodes[i].childNodes[3].firstChild.nodeValue;
        }
        montarPreguntas();
    }
}
//Cargamos el XML
trivia.load("archivo.xml"); 
    Gracias.
 
