Hola. Estoy intentando cargar un archivo xml externo e ir leyendo algunas cosas de el, pero realmente me está frustrando. Probé mil formas distintas, y siempre con resultados no deseados. Encontré un código en la red, que es el que voy a postear acá, y tampoco me funciona de la manera correcta. El archivo xml de prueba es:
 
<?xml version="1.0" encode="UTF-8"?>
<!DOCTYPE data[
<!ELEMENT title(comments, image)>
<!ATTLIST title name CDATA #REQUIRED>
<!ELEMENT comments (#PCDATA)>
<!ELEMENT image (#PCDATA)>
]>
<data>
<title name="Anastasio">
<comments>This is a nice guy</comments>
<image>an2.jpg</image>
</title>
<title name="Anastasio's car">
<comments>Anastasio loves his car</comments>
<image>an1.jpg</image>
</title>
</data>
 
 
Como verán es bastante siemple. Ahora, en mi película flash, tengo el siguiente código:
 
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.TEXT;
loader.addEventListener(Event.COMPLETE, onLoadXML);
loader.load(new URLRequest("anastasio.xml"));
 
function onLoadXML(ev:Event){
   try{
        //Convert the downloaded text into an XML
        var myXML:XML = new XML(ev.target.data);
 trace(myXML);
        var list:XMLList = myXML.data.title;
 trace(list.length());
        //walks the list and show in textfields
        for(var i=0; i<list.length(); i++){
            //trace(list[i].@name+"-"+list[i].comments+" - "+list[i].image)
            trace(list[i].@name);       
        }
    } catch (e:TypeError){
        //Could not convert the data, probavlu because
        //because is not formated correctly
        trace("Could not parse the XML");
        trace(e.message);
    }
}
 
El primer trace me arroja todo el documento xml de manera correcta. Es decir, que los datos del xml son bien cargados. El segundo trace me arroja siempre 0, a pesar de que haya dos nodos title. ¿Alguien se da una idea de que está sucediendo? 
  
 
