Trabalhar com xml no flex pode ser uma dor de cabeça, mas usando o chamado E4X é muitoooo facil. Travailler avec XML en Flex peut être un mal de tête, mais à l'aide de la soi-disant E4X est muitoooo facile.
O E4X (ECMAScript for XML) é uma “libraria” adicionada no Action Script 3 para trabalhar nativamente com XML e que têm como principal objectivo simplificar o acesso a ficheiros/conteudo XML. Le E4X (ECMAScript pour XML) est un "livre" a ajouté l'Action Script 3 natif de travailler avec vous et XML sont destinés à simplifier l'accès aux fichiers / contenus XML. Utilizando o E4X podemos aceder aos items do xml como se fossem objectos no Action Script. En utilisant E4X pouvez accéder aux articles de XML comme s'ils étaient des objets en Action Script.
Vi alguns tutoriais pela net, mas ou estão incompletos ou são demasiado complexos… por isso meti mãos à obra e decidi escrever um tutorial para que possam entender melhor de uma forma bem clara e em Português. J'ai vu quelques tutoriels pour le net, mais ou sont incomplets ou qui sont trop complexes ... alors eu à travailler et a décidé d'écrire un tutoriel afin qu'ils puissent mieux comprendre d'une manière claire et en portugais.
Vamos então começar… Laissez-nous commencer ...
Se alguém já trabalhou com xml da forma “normal/antiga” sabe bem como as coisas se podiam complicar, aliás, já eram complicadas por natureza principalmente com os metodos .firstChild e childNodes que em xml’s mais complicados simplesmente era uma confusão trabalhar com eles e detectar erros no código… Si quelqu'un a travaillé avec XML sous forme de «normal / vieux" sait comment les choses pourraient être compliqué, cependant, ont été compliquées par la nature surtout avec les méthodes. FirstChild et childNodes en XML qui est plus compliqué était tout simplement un gâchis de travailler avec eux-mêmes et de détecter les erreurs dans le code ...
Vejamos o seguinte código XML: Prenez le code XML suivant:
< loja > <Shop>
< artigo > <article>
< nome > Tenis Nike </ nome > Tennis <Nom> Nike </ name>
< modelo > 90 </ modelo > <Model> 90 </ type>
</ artigo > </ Item>
< artigo > <article>
< nome > Tenis Puma </ nome > Tennis <Nom> Puma </ name>
< modelo > Sport fun </ modelo > <Model> Sport fun </ type>
</ artigo > </ Item>
< artigo > <article>
< nome > Tenis Adidas </ nome > Adidas tennis <Nom> </ name>
< modelo > AD 215 </ modelo > <Model> AD 215 </ type>
</ artigo > </ Item>
</ loja > </ Boutique>
Isto é um genero simples de um XML, que pode ser representado em actionscript assim: C'est une sorte de simple XML, qui peuvent être représentés en actionscript comme ceci:
private privé var var meuXML : XML =< loja >< artigo >< nome > Tenis meuXML: XML = <shop> <article> <nom> Tennis Nike < / nome><modelo>90< / modelo >< / artigo><artigo><nome>Tenis Puma< / nome >< modelo > Sport Nike </ name> <modelo> 90 </ template> </ item> <artigo> <nom> Tennis Puma </ name> <template> Sport fun < / modelo>< / artigo >< artigo >< nome > Tenis fun </ template> </ item> <article> <nom> Tennis Adidas < / nome><modelo>AD 215< / modelo >< / artigo>< / loja >; Adidas </ name> <modelo> AD 215 </ template> </ item> </ boutique>;
Muito simples até então… Très simple à ce jour ...
Usando o E4X, podemos mostrar o conteudo do nosso MXL por partes, vejam: En utilisant E4X, nous pouvons montrer le contenu de nos actions par MXL, voir:
private privé function fonction mostra () : void { show (): void (
for est each ( var chaque (var item article in dans meuXML .. artigo ){ meuXML article ..) (
trace ( " Artigo: " artigo . nome " do modelo " artigo . modelo ) ; trace ( "Article:" article. nom "de type" article. modèle);
} )
} )
//ou podemos ainda mais simplesmente fazer: / / Ou nous pouvons faire encore plus simplement:
trace ( " artigos " meuXML .. artigo .* ) ; trace ( "Articles" meuXML article .* ..);
E assim podemos percorrer o nosso XML e listar os items… Et si nous nous rendons notre liste XML et les objets ...
Algum Quelques exemplos Exemples de de leitura lecture e et procura demande no Non XML : XML:
trace ( " artigo 1: " meuXML .. artigo [ 1 ]) ; trace ( "Article 1:" meuXML .. [1]);
//lista o nome e modelo em formato xml / / Liste le nom et le modèle au format XML
trace ( " nome artigo 1: " meuXML .. artigo [ 1 ] . nome . text ()) ; trace ( "nom de l'article 1:" meuXML .. [1]. nom. texte ());
//lista o conteudo do do primeiro artigo / / Liste le contenu de l'article premier
trace ( " modelo artigo 1: " meuXML . artigo [ 1 ] . modelo . text ()) ; trace ( "modèle de l'article 1:" meuXML. [1]. modèle. texte ());
//lista o conteudo do do primeiro artigo / / Liste le contenu de l'article premier
trace ( " id do artigo 1: " meuXML .. artigo [ 1 ] .@ id ) ; trace ( "id article 1:" meuXML .. [1]. @ id);
//lista o id="" do artigo 1 / / La liste id = "" Article 1
trace ( " procurar infos do artigo com id=2 " meuXML .. artigo . ( @ id == " 2 " ) .* ) ; trace ( "Infos rechercher l'article avec id = 2" meuXML l'article ... (@ id == "2") .*);
//lista em formato xml o nome e modelo do artigo 2 efectuando uma procura / / Xml dans la liste le nom et le modèle de l'article 2, en faisant une demande
trace ( " procurar nome do artigo com id=2 " meuXML .. artigo . ( @ id == " 2 " ) . nome . text ()) ; trace ( "Rechercher nom de l'article avec id = 2" meuXML l'article ... (@ id == "2"). nom. texte ());
//lista o nome do artigo com id="2"; / / Liste le nom de l'article avec id = "2";
trace ( " procurar modelo do artigo com id=2 " meuXML .. artigo . ( @ id == " 2 " ) . modelo . text ()) ; trace ( "recherche modèle de l'article avec id = 2" meuXML l'article ... (@ id == "2"). modèle. texte ());
//lista o modelo do artigo com id="2"; / / Liste le modèle de l'article avec id = "2";
Muito simples ah? Très simple: ah?
E pronto, podem ver como é simples trabalhar com xml… vou dar um exemplo de atribuir ao meuXML um ficheiro xml externo: Et prêt, vous pouvez voir comment il est simple de travail avec xml ... Je vais vous donner un exemple de l'attribution de l'extérieur meuXML un fichier xml:
import d'importation flash . net . URLLoader flash. net. URLLoader
private privé var var meuXML : XML ; meuXML: XML;
private privé var var loader : URLLoader ; chargeur: URLLoader;
private privé function fonction carregaXML () : void carregaXML (): void { (
loader = new loader = new URLLoader () ; URLLoader ();
loader . addEventListener ( Event . COMPLETE , onComplete ) ; chargeur. addEventListener (Event. COMPLETE, onComplete);
loader . load ( new chargeur. charge (nouveau URLRequest ( " http://www.meusite.com/meu_ficheiro_xml.xml " )) ; URLRequest ( "http://www.meusite.com/meu_ficheiro_xml.xml"));
} )
private privé function fonction onComplete ( evt : Event ) : void onComplete (evt: Event): void
{ (
meuXML = new meuXML = new XML ( loader . data ) ; XML (loader. Date);
//e pronto, a pratir de aqui têm o conteudo do xml na variavel e podem usar as operações que indiquei em cima. / / Et de prêt, l'argent ici est le contenu de la variable XML mai et utiliser les opérations comme indiqué ci-dessus.
} )
Para carregar o xml, basta na vossa aplicação flex usar o trigger creationComplete=”carregaXML()” Pour charger le fichier XML, seulement dans votre application à l'aide de Flex déclencher creationComplete = "carregaXML ()"
Como vêm… já não há desculpas para nâo trabalhar com XML usando o E4X! Comment se fait-il ... il n'ya aucune excuse pour ne pas travailler avec XML en utilisant E4X!
Espero que seja util J'espère qu'il sera utile
Abraço. Serrer dans ses bras.
versão pdf temporariamente indisponivel. version pdf temporairement indisponible.
Un commentaire
bon, par exemple, PONER bien que deberias BAJAR un lien qui peut à l'exemple et vous pouvez essayer, rien de mieux que de la pratique.
salu2.