Arbeiten mit XML in flex kann ein Kopfschmerzen, aber mit Hilfe der so genannten E4X ist muitoooo einfach.
Die E4X (ECMAScript für XML) ist ein "Bookshop", ergänzte die Action Script 3 nativ auf der Arbeit mit XML und Sie sind zur Vereinfachung Zugriff auf Dateien / XML-Inhalte. Mit E4X können Zugriff auf die Elemente von XML, als wären sie Objekte in Action Script.
Ich sah, wie einige Tutorials für das Netz, oder aber unvollständig sind oder sind zu komplex ... so haben zu arbeiten und beschlossen, ein Tutorial schreiben, damit sie besser zu verstehen, in einer klaren und Portugiesisch.
Lassen Sie uns beginnen ...
Wenn jemand arbeitet mit XML-Form von "normalen / alten" weiß, wie die Dinge kompliziert werden könnte, jedoch wurden durch die Natur vor allem mit den Methoden. FirstChild und childNodes im XML-das ist mehr kompliziert war einfach ein Chaos für die Arbeit mit sich selbst und erkennt Fehler im Code ...
Nehmen Sie die folgenden XML-Code:
<article>
</ nome > <Name> Tennis Nike </ name>
</ modelo > <Modell> 90 </ type>
</ Item>
<article>
</ nome > <Name> Tennis Puma </ name>
</ modelo > <Modell> Sport Spaß </ type>
</ Item>
<article>
</ nome > <Name> Tennis Adidas </ name>
</ modelo > <Modell> AD 215 </ type>
</ Item>
</ Store>
Dies ist eine Art von einer einfachen XML, die sich in ActionScript wie folgt aus:
Sehr einfach so weit ...
Mit E4X, können wir zeigen, die Inhalte unserer Aktien durch MXL, finden Sie unter:
ist jede (var Element in artigo ){ meuXML Artikel ..) (
" Artigo: " + artigo . nome + " do modelo " + artigo . modelo ) ; Trace ( "Regel:" + Artikel. + Name "vom Typ" + Artikel. Modell);
)
)
/ / Oder wir können noch mehr tun einfach:
" artigos " + meuXML .. artigo .* ) ; Trace ( "Artikel" + meuXML .. Artikel .*);
Und so gehen wir unsere XML-Liste und die Punkte ...
" artigo 1: " + meuXML .. artigo [ 1 ]) ; Trace ( "Artikel 1:" + meuXML .. [1]);
/ / Liste den Namen und das Modell im XML-Format
" nome artigo 1: " + meuXML .. artigo [ 1 ] . nome . text ()) ; Trace ( "name Artikel 1:" + meuXML .. [1]. Name. Text ());
/ / Liste der Inhalt des ersten Artikels
" modelo artigo 1: " + meuXML . artigo [ 1 ] . modelo . text ()) ; Trace (Modell "Artikel 1:" + meuXML. [1]. Vorlage. Text ());
/ / Liste der Inhalt des ersten Artikels
" id do artigo 1: " + meuXML .. artigo [ 1 ] .@ id ) ; Trace ( "id Artikel 1:" + meuXML .. [1]. @ id);
/ / Liste der id = "" Artikel 1
" procurar infos do artigo com id=2 " + meuXML .. artigo . ( @ id == " 2 " ) .* ) ; Trace ( "Infos suchen den Artikel mit id = 2" + meuXML Artikel ... (@ id == "2") .*);
/ / Xml-Liste, die im Namen und Modell von Artikel 2 durch eine Nachfrage
" procurar nome do artigo com id=2 " + meuXML .. artigo . ( @ id == " 2 " ) . nome . text ()) ; Trace ( "Look Namen der Artikel mit id = 2" + meuXML Artikel ... (@ id == "2"). Name. Text ());
/ / Liste den Namen des Artikels mit der ID = "2";
" procurar modelo do artigo com id=2 " + meuXML .. artigo . ( @ id == " 2 " ) . modelo . text ()) ; Trace ( "Suche Modell des Artikels mit id = 2" + meuXML Artikel ... (@ id == "2"). Vorlage. Text ());
/ / Liste das Modell des Artikels mit der ID = "2";
Sehr einfache ah?
Und bereit, können Sie sehen, wie einfach es ist die Arbeit mit XML ... Ich gebe ein Beispiel für die Zuordnung der meuXML eine externe XML-Datei:
private var XML ; meuXML: XML;
private var URLLoader ; Loader: URLLoader;
private Funktion : void carregaXML (): void (
new Loader = new ; URLLoader ();
addEventListener ( Event . COMPLETE , onComplete ) ; Loader. addEventListener (Event. COMPLETE, onComplete);
load ( new Loader. Last (neu " http://www.meusite.com/meu_ficheiro_xml.xml " )) ; URLRequest ( "http://www.meusite.com/meu_ficheiro_xml.xml"));
)
private Funktion evt : Event ) : void onComplete (EVT: Event): void
(
new meuXML = new loader . data ) ; XML (loader. Datum);
/ / Und bereit, die Silber hier sind die Inhalte des XML-Variable und können die Operation wie oben beschrieben.
)
Zum Laden der xml, nur in Ihrer Anwendung mit flex auslösen creationComplete = "carregaXML ()"
... Wie kommt es gibt keine Entschuldigung dafür, nicht die Arbeit mit XML mit E4X!
Ich hoffe, dass es Ihnen von Nutzen sein wird
Umarmung.










Ein Kommentar
gutes Beispiel, obwohl deberias poner un BAJAR können, dass der Link auf das Beispiel, und Sie könnten versuchen, nichts besser als die Praxis.
salu2.