Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/04/2008, 21:08
yconoclasta
 
Fecha de Ingreso: febrero-2005
Mensajes: 135
Antigüedad: 19 años, 2 meses
Puntos: 0
Pregunta Problemas al leer un XML

Hola:

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=0i<longi++)  {
            
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"); 
¿Será a caso la misma estructura del XML? ¿Debería de poner la pregunta dentro de otro nodo?

Gracias.