Flex tutorial - XML / E4X


Trabajar con XML en Flex puede ser un dolor de cabeza, pero utilizando la llamada E4X es muitoooo fácil.

El E4X (ECMAScript para XML) es una "librería", agregó la acción de secuencias de comandos nativa de 3 a trabajar con usted en XML y están destinadas a simplificar el acceso a los archivos / contenido XML. Uso de E4X puede acceder a los elementos de XML como si fueran objetos de secuencias de comandos en acción.

He visto algunos tutoriales de la red, pero o están incompletos o son demasiado complejos ... así que puso manos a la obra y decidió escribir un tutorial para que puedan entender mejor en un claro y portugués.

Empecemos ...

Si alguien ha trabajado con XML de forma "normal / viejos" sabe que las cosas podrían ser complicadas, sin embargo, se complica por la naturaleza, principalmente con los métodos. FirstChild y childNodes en xml que es más complicado era simplemente un lío de trabajar con sí mismos y detectar errores en el código ...

Considere el siguiente código XML:

<Shop>
<article>
</ nome > <nombre> Tenis Nike </ nombre>
</ modelo > <Model> 90 </ tipo>
</ Tema>
<article>
</ nome > <nombre> Tenis Puma </ nombre>
</ modelo > <Model> Deporte divertido </ tipo>
</ Tema>
<article>
</ nome > <nombre> Tenis Adidas </ nombre>
</ modelo > <Model> AD 215 </ tipo>
</ Tema>
</ Store>

Este es un tipo de un simple XML, que puede ser representado en ActionScript, como este:

privado var XML =< loja >< artigo >< nome > Tenis meuXML: XML = <shop> <article> <nombre> Tenis / nome><modelo>90< / modelo >< / artigo><artigo><nome>Tenis Puma< / nome >< modelo > Sport Nike </ nombre> <modelo> 90 </ template> </ item> <artigo> <nombre> Tenis Puma </ nombre> <template> Deporte / modelo>< / artigo >< artigo >< nome > Tenis divertido </ template> </ item> <article> <nombre> Tenis / nome><modelo>AD 215< / modelo >< / artigo>< / loja >; Adidas </ nombre> <modelo> AD 215 </ template> </ item> </ store>;

Muy simple hasta la fecha ...

Uso de E4X, que puede mostrar el contenido de nuestras acciones por MXL, véase:

privado función : void { show (): void (
es cada uno (var artículo en artigo ){ meuXML artículo ..) (
" Artigo: " + artigo . nome + " do modelo " + artigo . modelo ) ; trace ( "Regla:" + artículo. + nombre "de tipo" + artículo. modelo);
)
)
/ / O que podemos hacer aún más simple:
" artigos " + meuXML .. artigo .* ) ; trace ( "artículos" + meuXML artículo .* ..);

Y así vamos XML y nuestra lista de los temas ...

Unos Ejemplos de lectura y demanda No XML:
" artigo 1: " + meuXML .. artigo [ 1 ]) ; trace ( "Artículo 1:" + meuXML .. [1]);
/ / El nombre y el modelo en formato XML

" nome artigo 1: " + meuXML .. artigo [ 1 ] . nome . text ()) ; trace ( "nombre de artículo 1:" + meuXML .. [1]. nombre. texto ());
/ / Mostrar el contenido del primer artículo

" modelo artigo 1: " + meuXML . artigo [ 1 ] . modelo . text ()) ; trace ( "modelo de artículo 1:" + meuXML [1].. plantilla. texto ());
/ / Mostrar el contenido del primer artículo

" id do artigo 1: " + meuXML .. artigo [ 1 ] .@ id ) ; trace ( "id Artículo 1:" + meuXML .. [1]. @ id);
/ / Lista de los id = "" Artículo 1

" procurar infos do artigo com id=2 " + meuXML .. artigo . ( @ id == " 2 " ) .* ) ; trace ( "Infos buscar el artículo con id = 2" + meuXML el artículo ... (@ id == "2") .*);
/ / Xml en la lista el nombre y el modelo del artículo 2, haciendo una demanda

" procurar nome do artigo com id=2 " + meuXML .. artigo . ( @ id == " 2 " ) . nome . text ()) ; trace ( "buscar el nombre del artículo con id = 2" + meuXML el artículo ... (@ id == "2"). nombre. texto ());
/ / Lista el nombre del artículo con id = "2";

" procurar modelo do artigo com id=2 " + meuXML .. artigo . ( @ id == " 2 " ) . modelo . text ()) ; trace ( "búsqueda de modelo del artículo con id = 2" + meuXML el artículo ... (@ id == "2"). plantilla. texto ());
/ / Lista el modelo del artículo con id = "2";

Muy simple ah?

Y listo, usted puede ver lo simple que es trabajar con XML ... voy a dar un ejemplo de la asignando meuXML un archivo XML externo:

importación net . URLLoader flash. netas. URLLoader
privado var XML ; meuXML: XML;
privado var URLLoader ; cargador: URLLoader;

privado función : void carregaXML (): void (
new cargador = new ; URLLoader ();
addEventListener ( Event . COMPLETE , onComplete ) ; cargador. addEventListener (Event. COMPLETO, onComplete);
load ( new cargador. carga (nuevo " http://www.meusite.com/meu_ficheiro_xml.xml " )) ; URLRequest ( "http://www.meusite.com/meu_ficheiro_xml.xml"));
)

privado función evt : Event ) : void onComplete (evt: Event): void
(
new meuXML = new loader . data ) ; XML (Fecha loader.);
/ / Y listo, la plata aquí son los contenidos de la variable XML y puede utilizar la operación tal como se indica más arriba.
)

Para cargar el XML, sólo en su aplicación que utiliza flex desencadenar creationComplete = "carregaXML ()"

... ¿Cómo es que no hay excusa para no trabajar con XML utilizando E4X!

Espero que sea útil

Abrazar.

la versión en formato pdf disponible temporalmente.
Dejar un comentario o una Trackback

Un comentario

  1. Hiram Galindo
    4 de octubre de 2008 a 9:52 pm | Permalink

    buen ejemplo, aunque deberías poner un BAJAR que pueden vincular el ejemplo y usted podría intentar, nada mejor que la práctica.
    Salu2.

3 Trackbacks

  1. Por Flex con rieles + RubyAMF 'ramalho.wordpress.com el 18 de septiembre de 2008 a las 12:56 p.m. pm

    [...] El método GET del protocolo HTTP. El resultado - que se sabe es en XML - estará a cargo de E4X, que es una biblioteca de acceso nativo a XML. Cuando el servicio entra en acción, el cursor se [...]

  2. Por el usuario acerca de los vínculos "e4x" en la iLinkShare el 28 de septiembre de 2008 a horas 12:03 p.m.

    [...] | Usuario guardado pública enlaces | iLinkShare 3 votesTitorial Flex - XML / E4X>> humeid guardado por 1 día ago3 votos [eactif] AS3 E4X Todos necesitan U>> interactivo guardado por 7 días ago4 [...]

  3. De los últimos enlaces marcados con la etiqueta "e4x" - JabberTags el 25 de octubre de 2008 a horas 11:34 am

    [...] Por Zackarito en Sat 25-10-2008 10 razones por las que el amor por Flex guardados en wisenheimer Sábado 25-10-2008 Titorial Flex - XML / E4X Salvados por kristenjanell el Mar 24-10-2008 Flex, Flex aprender en Salvados por una semana HeartofRoxas [...]

Déjanos tu comentario

Su dirección de correo electrónico nunca es publicado o compartido. Los campos obligatorios están marcados con un *