InicioHazlo Tu Mismotutorial XML con Action Script3 en flash cs5
saludos, este es mi primer post XD aunque estoy registrado desde el 2009 u.u asi que les vengo a compartir un tutorial que ya publique en otros lados pero que espero a mas de alguien aca le pueda ser de utilidad, originalmente lo publique en pixelesaldesnudo.com espero que la categoria que eleji este bien. bueno aca les dejo:


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.
[hr]

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
dijo:

<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:
dijo:

Editor de imagenes, un estandard en la industria. Editor

Wysiwyg muy poderoso. Creacion de imagenes Vectoriales.

Animaciones y contenido multimedia.



sin embargo aun esta informacion podria no ser muy util en esa forma, para poder acceder a la informacion de un nodo solamente usaremos lo siguiente:

trace(programasXML.programa[0]);

resultando
dijo:

Editor de imagenes, un estandard en la industria.



para acceder a mas informacion como por ejemplo un atributo de un elemento XML podria usar el siguiente ejemplo:

trace(programasXML.programa.@titulo);

resultando
dijo:

Photoshop Dreamweaver Illustrator Flash



usando este metodo tambien podemos acceder a el atributo de un elemento especifico usando la siguiente forma

trace(programasXML.programa[0].@titulo);

resultando
dijo:

Photoshop



entre otras cosas tambien podemos sacar informacion de los elementos por ejemplo si desearamos saber cuantos programas hay en el XML podemos conseguirlo haciendo uso de:

trace(programasXML.programa.lengt());

resultando
dijo:

4



finalmente mezclando lo que hemos creado hasta ahora facilmente podemos agregar lo siguiente:


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);
for (var i:int = 0; i<programasXML.*.length(); i++){
trace("El programa numero " + (i+1) + ", con titulo " + programasXML.programa[i].@titulo + " se usa para " + programasXML.programa[i]);
}

}


espero esta informacion les sea de utilidad ya vere de poner algunos ejemplos adicionales para demostrar que usos podemos darle a esta informacion.


pare ver la fuente clic aca
Datos archivados del Taringa! original
0puntos
152visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
3visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

s
salvadoresc🇦🇷
Usuario
Puntos0
Posts1
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.