les traigo este tuto, escrito por mi sobre el uso de actionscript 3 en flash 5 con XML, el original lo escribi en mi foro en el siguiente link
http://pixelesaldesnudo.com/animacion-multimedia-flex-y-action-script-flash/diversion-total-con-xml-y-actionscript-3-usando-flash-cs5/ donde hay un par de ejemplos mas, y como no compartirlo aca, si svc es donde nacio pixelesaldesnudo
Muchas veces necesitamos acceder a datos externos dentro de flash, la forma mas reconocida es hacerlo a traves de XML y es que incluso si necesitamos acceder informacion de una base de datos XML nos permite hacerlo usando algun intermediario para conectarse a la base de datos como PHP/ASP, generar una consulta y convertir los resultados a XML.
Ahora, que es XML? gracias a la wiki podemos encontrarnos una definicion mas detallada y tecnica:
http://es.wikipedia.org/wiki/Extensible_Markup_Language sin embargo en resumen, XML es un formato de intercambio de datos, con una estructura muy similar al HTML no resulta dificil aprenderlo y con la ventaja que es sumamente extensible.
Una de muchas ventajas que nos dara trabajar con XML es la posibilidad de hacer ediciones dentro de nuestro flash sin necesidad de editar toda la pelicula solamente editar un archivo, en un editor de texto cualquiera.
Bueno sin entrar en mas detalles con XML vamos a crear un XML para poder acceder a este desde FLASH:
<?xml version="1.0" encoding="utf-8"?>
<adobe>
<programa titulo="Photoshop">Editor de imagenes, un estandard en
la industria.</programa>
<programa titulo="Dreamweaver">Editor Wysiwyg muy
poderoso.</programa>
<programa titulo="Illustrator">Creacion de imagenes
Vectoriales.</programa>
<programa titulo="Flash">Animaciones y contenido
multimedia.</programa>
</adobe>
separemos un poco la estructura de este archivo:
<adobe> </adobe>
esto es el elemento raiz, el nombre podia ser cualquiera ya que XML nos permite hacerlo gracias a que es extensible el cuidado que debemos tener es que tanto la etiqueta de apertura como la de cierre sean iguales, no podemos dejar etiquetas diferentes por lo tanto no seria lo mismo y el codigo no validaria, las etiquetas siempre tienen que cerrarse y los atributos siempre van entre comillas.
<ADOBE></adobe>
Luego tenemos los diferentes elementos:
<programa titulo="Dreamweaver">Editor Wysiwyg muy poderoso.</programa>
en este podemos notar como dentro del elemento (las etiquetas) podemos encontrar contenido pero ademas encontramos en el elemento programa un atributo llamado titulo, el cual tambien esta almacenando un valor respecto a esta informacion.
bueno estos son los aspectos basicos a la hora de generar un XML.
Ahora que tenemos el XML vamos a generar el archivo flash para consumirlo usando el menu File > New
en el cuadro de dialogo escogemos ActionScript 3.0.
(para mas informacion en la creacion de archivos en flash CS5 )1 Una vez tenemos nuestro archivo Flash, abrimos el Panel Actions usando el menu Windows>Actions o presionando la tecla F9
2 Creamos una variable para almacenar un objeto de la clase XML Class
var programasXML:XML;
3 creamos una instancia de la clase URLLoader Class para cargar el archivo XML
var programasLoader:URLLoader = new URLLoader();
4 Cargamos el contenido del XML utilizando el metodo load
programasLoader.load(new URLRequest("misdatos.xml"));
5 verificamos si el archivo XML ha sido cargado por completo para poder procesarlo usando "addEventListener"
programasLoader.addEventListener(Event.COMPLETE,
procesarXML);
aca estamos verificando que se dispare el evento COMPLETE el cual se activara cuando se haya terminado la carga del archivo XML y cuando esto ocurra se ejecutara la funcion llamada "procesarXML" que aun no ha sido creada.
6 Creamos la funcion procesarXML donde pasamos los datos cargados a la variable porgramasXML que se declaro al inicio. y usando un trace podemos obtener el resultado en la ventana Output de flash CS5
function procesarXML(e:Event):void {
programasXML = new XML(e.target.data);
trace(programasXML);
}
7 Presionamos Ctrl+Enter y vemos el resultado el archivo XML completo.
Pero que ocurre si necesitamos obtener solamente una parte de nuestro XML? aqui es donde aprovechamos su estructura donde podemos ver elementos padre asi como elementos hijos.
modifiquemos un poco nuestro TRACE para poder obtener datos diferentes:
var programasXML:XML;
var programasLoader:URLLoader = new URLLoader();
programasLoader.load(new URLRequest("misdatos.xml"));
programasLoader.addEventListener(Event.COMPLETE, procesarXML);
function procesarXML(e:Event):void {
programasXML = new XML(e.target.data);
trace(programasXML.programa);
}
ejecutemolo nuevamente usando CTRL+Enter y ahora el resultado en la ventana Output debera ser similar a esto
<programa titulo="Photoshop">Editor de imagenes, un estandard en
la industria.</programa>
<programa titulo="Dreamweaver">Editor Wysiwyg muy
poderoso.</programa>
<programa titulo="Illustrator">Creacion de imagenes
Vectoriales.</programa>
<programa titulo="Flash">Animaciones y contenido
multimedia.</programa>
Si deseamos obtener solo los datos dentro de cada elemento entonces el trace deberia cambiar a esto:
trace(programasXML.programa.*);
resultando:
Editor de imagenes, un estandard en la industria. Editor
Wysiwyg muy poderoso. Creacion de imagenes Vectoriales.
Animaciones y contenido multimedia.
fuente:
http://pixelesaldesnudo.com/animacion-multimedia-flex-y-action-script-flash/diversion-total-con-xml-y-actionscript-3-usando-flash-cs5/mas proximamente