Cargar archivos de texto y XML con URLLoader

Cargar archivos de texto y XML con URLLoader

Etiquetas: URLLoader URLRequest load

El código de este ejemplo carga un XML e informa de los eventos de carga. Para cargar imágenes y SWF hay que utilizar Loader en lugar de URLLoader.

  1. //Importo las clases necesarias
  2. import flash.display.*;
  3. import flash.events.*;
  4. import flash.net.*;
  5.  
  6. //Asigno la url que se va a cargar
  7. var url:String = "discos.xml";
  8.  
  9. //Carga el XML
  10. function CargarXML() {
  11.         //Creo el objeto cargador
  12.         var loader:URLLoader = new URLLoader();
  13.         //Le añado los listeners
  14.         ponerListeners(loader);
  15.         //Creo el objeto que contendrá la petición
  16.         var peticion:URLRequest = new URLRequest(url);
  17.         //Cargo la petición
  18.         loader.load(peticion);
  19. }
  20.  
  21. //Añade los listeners al cargador
  22. function ponerListeners(dispatcher:IEventDispatcher):void {
  23.         dispatcher.addEventListener(Event.COMPLETE, completeHandler);
  24.         dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
  25.         dispatcher.addEventListener(Event.INIT, initHandler);
  26.         dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
  27.         dispatcher.addEventListener(Event.OPEN, openHandler);
  28.         dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
  29. }
  30.  
  31. //Funcion que se ejecuta cuando termina la descarga.
  32. function completeHandler(event:Event):void {
  33.         trace("completeHandler: " + event);
  34.         trace(event.target.data);
  35. }
  36.  
  37. //Se ejecuta al recibir un código de estado HTTP
  38. function httpStatusHandler(event:HTTPStatusEvent):void {
  39.         trace("httpStatusHandler: " + event);
  40. }
  41.  
  42. //Se distribuye cuando las propiedades del objeto cargado están disponibles
  43. //A partir de su distribucion podriamos modificar el objeto (ancho, escala, etc)
  44. function initHandler(event:Event):void {
  45.         trace("initHandler: " + event);
  46. }
  47.  
  48. //Se ejecuta cuando hay un error de entrada/salida, por ejemplo, al intentar cargar un
  49. //archivo inexistente
  50. function ioErrorHandler(event:IOErrorEvent):void {
  51.         trace("ioErrorHandler: " + event);
  52. }
  53.  
  54. //Se ejecuta cuando comienza la operación de carga
  55. function openHandler(event:Event):void {
  56.         trace("openHandler: " + event);
  57. }
  58.  
  59. //Se ejecuta periodicamente mientras dura la carga
  60. function progressHandler(event:ProgressEvent):void {
  61.         trace("progressHandler: bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal);
  62. }
  63.  
  64. //Empezamos
  65. CargarXML();

Descargar archivos

Comentarios
    • Autor
    • Piero Recchia
    Excelente tu codigo, pero me gustaria preguntarte algo si ejecuto este código en una escena y lleno un array con los datos del xml, ¿Como haria para acceder a este Array en otra escena mediante el uso de AS3? Gracias.
    • Autor
    • esedeerre

    Buenas Piero, en principio no te recomendaría que utilices escenas para trabajar con AS3

    Si las usas, y almacenas una variable en el stage de la escena1, puedes acceder a ella desde la escena2 haciendo referencia al stage. Si la variable está almacenada en un clip de la escena1 que no está en la escena2, no puedes acceder a ella.

    • Autor
    • julito
    Saludos esedeerre. tengo un problemilla con mi codigo as3. Veras, en el archivo xml ingreso texto (por ejemplo : técnico, años) y al cargar mi archivo de flash, las palabras (acentuadas o la ñ) aparecen sin acento o sin el guion, en algunas palabras hasta me aparece otro caracter. Me puedes ayudar, cuàl es mi problema? gracias
    • Autor
    • Francisco
    Y como se hace para que me muestre el XML en un texto dinamico en un swf principal sin utilizar el "trace" ?
    • Autor
    • gabriel
    Hola, yo tambien tengo la misma duda que francisco, como se le hace para muestre la informacion en un texto dinamico y no con trace. saludos y gracias por los tutoriales
    • Autor
    • luis arevalo
    Hola, lo estoy utilizando para cargar un xml generado por un php, no se si es la manera correcta, estoy migrando al as2, yo antes leía el php y metia todo en un array pero ahora no se como el codigo del php es el siguiente: do { echo " "; echo "".$row["id"]." "; echo utf8_encode("".$row["proyecto"]." "); echo utf8_encode("".$row["nombre"]." "); echo utf8_encode("".$row["ubicacion"]." "); echo utf8_encode("".$row["de"]." "); echo utf8_encode("".$row["para"]." "); echo utf8_encode("".$row["comentario"]." "); echo " "; } while ($row = mysql_fetch_array($result1));
    • Autor
    • SAM
    Muchas gracias
    • Autor
    • Fabio
    Hola buenisimo tu sitio, una pregunta como se puede hacer para que me muestre en un text solo el contenido sin las etiquetas? Saben de algún codigo as3 para mostrar noticias y incluso algun php que modifique al xml? Muy buen sitio los visitaré seguido, suerte.
Dejar un comentario
Tu nombre (obligatorio):

E-mail (obligatorio, no se mostrará):

Web:

Comentario: