A pesar de que hay mucha documentación al respecto, manejar XML con ActionScript es como un mundo aparte para mi.
A veces juraría que hago las cosas tal y como lo pone en los ejemplos que leo y aún así no me funcionan
En mi caso concreto, tengo un documento de este estilo:
Código XML :
<HighScores> <Score id = '1'> <nombre>juan</nombre> <puntos>50</puntos> </Score> <Score id = '2'> <nombre>paco</nombre> <puntos>45</puntos> </Score> <Score id = '3'> <nombre>pepe</nombre> <puntos>30</puntos> </Score> <Score id = '4'> <nombre>luis</nombre> <puntos>20</puntos> </Score> <Score id = '5'> <nombre>samuel</nombre> <puntos>0</puntos> </Score> </HighScores>
Vale. Lo que intento es coger esa información y ponerla en un TextField que muestro por pantalla.
Código ActionScript :
public function cargarXML(url:String){
cargador.addEventListener(Event.COMPLETE, cargaCompleta);
//loadUrl.addEventListener (SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
//loadUrl.addEventListener (HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
//loadUrl.addEventListener (IOErrorEvent.IO_ERROR, ioErrorHandler)
cargador.load(new URLRequest(url));
}La carga me funciona correctamente, creo, y llegamos a la función cargaCompleta. He ahí el problema
Código ActionScript :
private function cargaCompleta(e:Event):void { //Funcion que se ejecuta cuando termina la carga.
var docCargado: XML = new XML(e.target.data);
docCargado.ignoreWhite = true;
textoRecords.text += trace(docCargado);
var miRaiz = docCargado.child(HighScores);
//trace(docCargado);
//trace(docCargado.toXMLString);
//trace(docCargado.child);
//trace(miRaiz);
//trace(miRaiz.toXMLString + " y miRaiz");
//docCargado.parseXML(e.target.data);
//trace (miRaiz.length);
//for each(var nodo:XML in miRaiz.childNodes){
for each(var nodo:XML in miRaiz.child){
//Devuelve el atributo puntuacion
textoRecords.text += "\n#1: " + nodo.nombre;
trace (nodo.@id);
}
}Pues bien, no pinta más que un "undefined" en pantalla y el documento XML, tal cual, en la salida estándar, en función de qué lineas de trace habilite. Alguna idea? No tengo ni idea, por ejemplo de qué hace el "parse".
Muchas gracias de antemano.
