
29
Jun
Cuando nos encontramos con proyectos donde el cliente debe cargar datos de tipo dinámicos o datos que son sensibles a nuevos cambios la mejor manera de afrontar esos proyectos es usando XML, el potencia que tiene un XML es la posibilidad de manipular grande cantidades de información de una manera organizada y estructurada y simple de modificar, sin la necesidad de tocar nuestro SWF.
Para aquellos que quieran saber cómo construir un archivo de tipo XML o quieran saber cómo es su estructura les vendrá bien leer el siguiente artículo: http://www.leobaraldi.com.ar/2008/03/09/que-es-un-archivo-xml-y-escribir-archivos-xml
En este artículo veremos cómo cargar y gestionar un archivo XML para una galería de imágenes que el mismo roten con un intervalo de tiempo mas los controles habituales e información para cada imagen. En este caso también vamos a hacer uso de AS 2.0 recuerden que todos estos tutoriales vamos a ir pasándolos a AS 3.0 a medida que el tiempo surja.
Para utilizar XML flash cuenta con una clase nativa para ello, la cual nos permite manipular XML, nodos, métodos y parámetros de todo tipo. Como toda clase simplemente para comenzar a utilizarla debemos crear un nuevo objeto de tipo XML de la siguiente manera:
var miXML:XML = new XML();
Los siguientes pasos seria comenzar a levantar la información de nuestro XML y guardarla en el objeto XML que creamos (miXML), para ello usaremos el siguiente método load y el controlador onLoad para saber que sucede con nuestros datos. Ahora en mas la explicaciones van dentro del código cosa que vamos ir viendo paso a paso como trabajar el objeto XML.
Antes que todo vamos a necesitar por supuesto tener nuestro XML con su estructura y datos ya conformados, en este caso particular lo vamos a diseñar de la siguiente manera.
Importante: Nunca olvidarse de los cierre de cada nodo, sea padre o hijos!!!
Una vez que ya tenemos nuestro archivo XML con su estructura definida ya podemos pasar a nuestro AS, no es necesario por ahora que nuestro XML tenga todos los datos cargados, simplemente con que ya tengamos su estructura es suficiente para comenzar, después a su momento editaremos el XML con la información real requerida.
Hasta aquí lo único que se realizo fue la carga a nuestro SWF del XML, posteriormente ahora trabajaremos en el uso del mismo. El paso más importante a continuación es guardar todos los nodos hijos (foto) y su información en un Array, ser como que cada uno de los nodos con todos sus datos lo pusiéramos en una carpeta individual para cada nodo y todas estas carpetas dentro de un archivador que ser nuestro Array.
En el siguiente grafico pueden darse cuenta cómo funciona la estructura del XML y como flash la interpreta según este caso particular, pero el principio general es el mismo en todos los casos
En conclusión como pueden observar simplemente con pocas líneas de AS y un archivo XML hemos logrado una pequeña y simple galería que solo pesa 2kb y es totalmente actualizable desde afuera del SWF con solo modificar el XML . Estar de mas decir e imaginar las virtudes y posibilidades que dan el uso de archivos XML.
Nací en Villa Carlos Paz, tengo 33 años y me dedico a desarrollos para la web desde el año 99, preferentemente en las aéreas de ActionScript y CSS. Trabajo para la firma Manifesto Solutions como jefe de producción.
13th Julio, 2008 at 10:17 pm
Buenisima la galeria leo!!! Hice una parecida, pero le agrege algunas cosas mas
Despues te la paso!! Saludos
2nd Agosto, 2008 at 2:23 pm
Buenas tardes, realmente su curso ha sido bastante entendible. Tengo una duda:
Estoy intentando realizar un ejemplo pero no consigo que funcione.
Teniendo en cuenta que dentro de los xml hay bastantes datos, mi pregunta es la siguiente:
Quiero capturar siempre los datos de un nodo, el cual dependiendo del xml generado por el servidor se posiciona en un sitio u otro. He intentado realizarlo de esta manera:
for(var i:Number = 0; i< mi_xml.firstChild.childNodes; i ++){
if(mi_xml.firstChild.childNodes[i].nodeName == "Setting"){
trace(mi_xml);
}
}
Pero no funciona.
Si necesita todo el codigo digameló.
Un saludo
3rd Agosto, 2008 at 11:06 pm
algo asi te va a funcionar:
el xml utilizado es el feed de este sitio
17th Agosto, 2008 at 9:36 am
Buenas tardes, después de probar su codigo tengo que decirle que ha funcionado correctamente.
Con su permiso le he añadido un par de definiciones para conseguir el resultado que me interesaba.
Con esto me devuelve el valor del nodo.
Muchas gracias
22nd Agosto, 2008 at 5:24 pm
http://laorillaweb.com/webprat/uecpr.html
en este enlace he puesto tu ejemplo...
mira que te parece...
es la galeria de abajo
y esta en una pg que estoy diseñando de forma altruista
pedro
pdt.gracias
6th Noviembre, 2008 at 11:59 am
muy bueno,gracias por compartir tus conocimientos
Salu2¡¡
28th Enero, 2009 at 8:33 pm
Estoy probando un xml y no carga no se cual sera el problema con el script...
28th Enero, 2009 at 9:00 pm
Esta Recontra buenazo este tutorial, bien chevere...
18th Febrero, 2009 at 12:46 pm
hola quisiera saber que significa un array , se trata de una carpeta para cada foto? y donde va el segundo AS
muchas gracias por ayudar !
4th Enero, 2010 at 11:53 pm
quiciera saber como hago para cambiarle la fuente y el tamaño a la descripcion
5th Enero, 2010 at 3:03 am
2 opciones: usas la clase TextFormat y con font asignas la fuente o usas texto html y con la etiqueta font face asignas una fuente, con el tamaño pasa lo mismo. Si la fuente no es de sistema utiliza TextFormat
25th Abril, 2010 at 4:49 pm
Tengo un grave problema, modifico el xml, guardo como utf-8.
Luego al poner en marcha la pelicula, las tildes, eñes, acentos en general no se me codifican correctamente...
Me podéis ayudar ?
Eternamente agradecido, ya le he hecho de todo¡¡