Prácticas y Ejemplos de XML, con Flash, PHP y MySQL
eXtensible Markup Language, Intermabio de datos entre Aplicaciones
Tutorial por Jorge Oyhenard (elQuique)
Segunda parte de este tutorial que pretende ser una introducción básica al lenguaje XML, y al uso para integrar aplicaciones como Flash, PHP y MySQL.
Luego de nuestra Introducción al XML, veremos en esta oportunidad la forma en que Adobe Flash, lee estos archivos y en que podemos utilizarlo.
Lo primero es entender lo básico para poder realizar aplicaciones Flash que utilicen, XML, por tanto para los más avanzados, pido disculpas si somos demasiado obvios.
En esta primera prueba vamos a crear un archivo datos.xml en cualquier editor de texto, también pueden hacerlo con:
Inicio, Ejecutar Notepad datos.xml o indicando la carpeta donde debe guardarse así, Notepad c:\pruebas\datos.xml
El contenido para este primer ejemplo debe ser:
<usuario>Jacinto</usuario>
<usuario>Ana</usuario>
</usuarios>
Luego vamos a abrir Flash y vamos a crear un documento nuevo (no importa las medidas ya que será solo código), en la ventana de acciones vamos a escribir el siguiente código:
misdatos.load("datos.xml");
misdatos.onLoad = function () { trace(misdatos.firstChild);
}
Y guardamos en c:\pruebas\ejemplo1.fla
En la primer línea,
en esta línea, estamos declarando una variable llamada “misdatos”, que será la que permita manejar nuestro objeto XML. El objeto XML es la representación de nuestro archivo de datos, en nuestra pequeña aplicación de ejemplo hecha en ActionScript de Flash.
En la segunda línea,
en esta línea, realizamos la lectura de los datos por medio de la orden load, a la cual le indicamos el nombre del archivo a leer. Con eso logramos que se lea la información desde nuestro archivo a la memoria, para poder trabajar con ella.
Para realizar cualquier función con la información leída, la manera mas común es realizar justamente una función que se ejecute al leer = onLoad (por su traducción al ingles, al Leer = on Load).
La función se declara así,
trace(misdatos.firstChild);
}
La línea misdatos.onLoad = function () { es igual siempre, al igual que la llave } de finalización. Lo que cambia siempre es el contenido de la función, en este caso:
que lo que hace es mostrar por medio de la orden trace, el contenido de “misdatos” ya que la orden firstChild simboliza el total de los datos.
Podemos probar esto dando CTRL Enter o en el menú, Control y Test Movie. Nota: si probamos muchas veces y la ventana Output se llena de datos o nos confunde, con botón derecho, Clear podemos limpiar la ventana Output.
Como vemos en la imagen, se muestra toda la información del archivo XML, vamos a suponer que ahora solo queremos ver lo que corresponde a los usuarios, o sea Jacinto y Ana, para esto cambiaremos la función como sigue:
trace(misdatos.firstChild.childNotes);
}
Podemos probar nuevamente dando CTRL Enter o en el menú, Control y Test Movie.
Esto es así, porque childNodes muestra solo los elementos Hijos de nuestro XML.
La estructura XML, se da de manera Jerárquica tenemos como Padre a todo el archivo XML y cada elemento interno serán sus Hijos, en este caso cada usuario.
Si ahora queremos ver solo el Primer Usuario (o sea Jacinto), podemos realizar el siguiente código:
trace(misdatos.firstChild.childNodes[0];
}
Tenemos que tener, en cuenta que entre los elementos de un XML, puede haber espacios en blanco que no deben ser tomados en cuenta. Es por eso que quizás no veas lo que debes ver, para asegurarnos vamos a utilizar ignoreWhite, de esta forma:
misdatos.onLoad = function () {
trace(misdatos.firstChild.childNodes[0];
}
Simplemente lo agregamos antes de la función y queda listo. Bien..., si con [0] aparece el Primer Elemento, nótese que comienza en 0 y siguen en 1, 2, 3 etc, o sea que numera del cero en adelante. Podemos ver los demás elementos usando ese numero hasta los N elementos que tengamos en nuestro archivo.
Por tanto si utilizamos así:
nos mostraría a Ana.
El código completo, en imágenes:
En la próxima entrega, veremos un ejemplo más práctico utilizando archivos más complejos de datos y una pantalla flash que tome estos datos.
Comentarios de Prácticas y Ejemplos de XML, con Flash, PHP y MySQL
↑ Tutorial
cesario47
2007-03-13 07:46
vini138
2007-04-04 13:31
Cada cuanto hacen publicaciones nuevas sobre este tema?
ravalos7
2007-07-05 09:01
jam
2007-10-05 12:27
La siguiente entrega por favor.
Dense por Saludados.
jcaspev
2007-10-23 01:19
Gracias por esta excelente pagina... Saludos!!!
juanalex
2007-12-07 12:32
linea1 var opcionesXML:XML = new XML();
linea2 opcionesXML.ignoreWhite = true;
linea3 opcionesXML.onLoad = function (sucess:Boolean){}
linea4 if (VAR Opciones: Array=this.firstChild.childNodes);
linea5 for (i=0; i
linea7 _root["boton"+i]._x = 50;
linea8 _root["boton"+i]._y = 30 + (i * 50);
linea9 _root["boton"+i].texto = opciones[i].childNodes[0].firstChild;
linea10 _root["boton"+i].linkurl = opciones[i].childNodes[1].firstChild;
linea11 _root["boton"+i].onRelease = function (){getURL(this.linkurl, "_blank");
linea12 else misdatos.ignoreWhite = true;
linea13 misdatos.onLoad = function () {trace(misdatos.firstChild.childNodes[0];};
y al compilarlo me da como resultado lo siguiente y no se cual es la correcion
**Error** Escena=Escena 1, capa=Capa 1, fotograma=1:Línea 4: Se espera ')'
if (VAR Opciones: Array = this.firstChild.childNodes);
Total de errores de ActionScript: 1 Errores comunicados: 1
si me hace falta algo o simplemente me equivoque me lo pueden explicar por fa