Inicio > Actionscript 3 > Tutorial actionscript 3 – Load and read XML file, loading and reading

Tutorial actionscript 3 – Load and read XML file, loading and reading

Leyendo un foro de actionscript ( el foro de actionscript), me encontre con repetidos post preguntando como cargar un XML. Eso me motivo a escribir el siguiente post.

Para los que no saben nada sobre los XML, sigla en inglés de Extensible Markup Language, para explicarlo de una manera sencilla no son mas que archivos de texto que siguen ciertas estandarizaciones para almacenar datos. Las reglas de sintaxis que nos impone el xml, nos permite poder leer estos archivos desde cualquier lenguaje. Yo tampoco soy un erudito sobre la teoria basica de los xml, solo les doy un buen uso en mis programas. Para los que quieran estudiar un poco mas sobre los xml aca pueden seguir leyendo. XML EN WIKIPEDIA

Un xml es algo tan simple como esto:
xmlcode

Como pueden ver el formato es bastante intuitivo, se usa un formato de tag encerrando entre simbolos de mayor y menos los identificadores y adentro los valores , los que saben de html seguro que lo sacan de vuelo.

Aca les dejo un ejemplo de uso. Seguire trabajando sobre este mismo ejemplo para ver como crear una galeria de imagenes apartir de este xml.

VER EJEMPLO / VIEW EXAMPLE
DESCARGAR EJEMPLO / DOWNLOAD EXAMPLE

El codigo actionscript seria el siguiente:

package
{
	import flash.display.Loader;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.net.URLLoader;
	import flash.net.URLRequest;

	/**
	 * Este es un sencillo ejemplo de como cargar y leer los datos de un xml.
	 * @author http://blog.miguelmoraleda.com
	 */
	public class Main extends Sprite
	{
		/**
		 * instancia para guardar el xml
		 */
		private var _xml:XML;

		/**
		 * Constructor, inmeditamente llama a la funcion loadXMLFile
		 */
		public function Main()
		{
			super();

			loadXMLFile();
		}

		/**
		 * Crea un nuevo loader para cargar el xml y le pone un listener para saber
		 * cuando se cargo por completo.
		 */
		private function loadXMLFile():void
		{
			var loader= new URLLoader(new URLRequest("datos.xml"));
			loader.addEventListener(Event.COMPLETE, loadedCompleteHandler);
		}

		/**
		 * Cuando se completa se remueve el listener, guardo el xml en mi instancia de
		 * XML y luego lo recorro con un simple for each.
		 * @param	e
		 */
		private function loadedCompleteHandler(e:Event):void
		{
			e.target.removeEventListener(Event.COMPLETE, loadedCompleteHandler);
			_xml = XML(e.target.data);
			for each (var picture:XML in _xml.pic) {
				statusField.text += "========================================\n";
				statusField.text += "Imagen: " + picture.image + "\n";
				statusField.text += "Nombre: " + picture.nombre + "\n";
				statusField.text += "Anio: " + picture.ano + "\n";

				trace("Imagen: " + picture.image);
				trace("Nombre: " + picture.nombre);
				trace("Anio: " + picture.ano);
			}
		}
	}
}
Categories: Actionscript 3 Tags:
  1. Nav
    viernes, 7 de agosto de 2009 a las 06:36 | #1

    Where is statusField?

*

Spam Protection by WP-SpamFree

Get Adobe Flash playerPlugin by wpburn.com wordpress themes