Comunidad de diseño web y desarrollo en internet online

XML externo

Citar            
MensajeEscrito el 29 Abr 2008 11:29 am
Hola. Es posible que esté y ya resulta mi duda, pero no doy con la solución. Lo que me ocurre es que no consigo acceder a los datos de un archivo.xml externo. He cargado correctamente el archivo mediante el siguiente código:

Código :

var myXML:XML;

var loader:URLLoader = new URLLoader();

var request:URLRequest = new URLRequest(\\\"xml/archivo.xml\\\");
loader.load(request);
loader.addEventListener(Event.COMPLETE, onComplete);

function onComplete(event:Event):void
{
    var loader:URLLoader = event.target as URLLoader;
    if (loader != null)
    {
        myXML = new XML(loader.data);
        trace(myXML.toXMLString());
   }
    else
    {
        trace(\\\"loader is not a URLLoader!\\\");
    }
}


Pero, si bien cuando creo el xml dentro de mi código, puedo acceder al nombre de una persona de la siguiente manera:

Código :

nombre.text=myXML.persona.nombre//por ejemplo


Ahora, al haberlo cargado externamenente me da el error: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.
Alguien me dice qué estoy haciendo mal?? Hay diferencias para acceder a los datos en ambos casos??
Muchas gracias

Por Noja33

21 de clabLevel



Genero:Masculino  

Sevilla

firefox
Citar            
MensajeEscrito el 06 May 2008 10:20 am
Agradecería alguna aclaración. ¿Existe alguna diferencia a la hora de acceder a los elementos de un XML dependiendo de si este es un objeto creado en actionscript o si es un archivo externo? Lo que pretendo hacer lo hago, con la salvedad de que el xml que me da los datos en un objeto interno y deseo que sea un arrchivo xml externo. Lo he cargado bien, lo he probado con traces, pero no se cómo acceder a sus elementos, haciendo lo mismo que con un objeto interno no me va. Espero alguna respuesta, muchas gracias.

Por Noja33

21 de clabLevel



Genero:Masculino  

Sevilla

firefox
Citar            
MensajeEscrito el 08 May 2008 06:47 am
La respuesta a mi pregunta es Sí, un archivo cargado externamente se usa de la misma manera que uno creado en el código. Lo que me estaba ocurriendo era que aunque yo tuviese declarado mi atributo XML visible para cualquier método, este no contenía nada hasta que no finlizara el onComplete. Lo que he hecho llamar a una función cargado(); dentro del onComplete, justo despues del myXML = new XML(loader.data); Luego dentro de esa función cargado(); he colocado todo mi código que, ahora sí, hace uso del XML externo.
Bueno, gracias, aunque no me han ayudado en la respuesta, me han ayudado a "bucarme las avichuelas" como decimos en mi tierra.

Saludos.

Por Noja33

21 de clabLevel



Genero:Masculino  

Sevilla

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.