XML in AS Actionscript 3 con E4X
Actionscript 3 o AS 3 semplifica notevolmente la gestione di dati XML con una nuova classe omonima che usa la sintassi ECMAscript.
ECMAscript for XML (E4X) aggiunge nativamente supporto XML agli script basati sull' ECMA fornendo una sintassi più semplice per accedere a questo tipo di file.
E4X inoltre tratta il dato XML non più come un oggetto ma come tipo primitivo (come character, integer e boolean) rendendone l'accesso più veloce.
Gestire questo tipo di file con Actionscript 3 non è mai stato così immediato e semplice: vediamo come fare in questo breve esempio.
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onComplete);
//come XML da caricare indichiamo il percorso del file, in questo caso l'URL dell'RSS feed di questo sito
loader.load(new URLRequest("http://www.w3facile.com/index.php/feed"));
function onComplete(evt:Event)
{
mainXML = new XML(loader.data);
trace("XML caricato, ora possiamo eseguire le operazioni che vogliamo");
}
Le operazioni sono poche e semplici: utilizziamo l' istanza di un URLLoader per caricare il file XML, tramite il listener richiamiamo la funzione onComplete al completamento del caricamento.
In questa funzione viene istanziato un nuovo tipo XML con i dati del loader.
Ora per ottenere dei dati da visualizzare basterà usare la sintassi tipica dell' ECMAscript: vediamo qualche esempio.
che ci ritornerà il valore dei nodi XML <title> indicati, in questo caso i titoli dei post uno di seguito all'altro nell'ordine nel sito.
Se vogliamo evitare di scrivere tutto il percorso tramite la dot notation possiamo usare la double dot notation, "..":
ma ci rendiamo conto che l'output è leggermente diverso.
Infatti se nel primo caso abbiamo in parte specificato che percorso seguire, nel secondo esempio stiamo prendendo i valori di tutti i tag <title> presenti nel documento XML.
In entrambi i casi comunque otteniamo un XMLList che possiamo gestire come un semplice array.
trace("title "+i+": "+mainXML..title[i].text());
}
che ci restituisce tanti <I>trace</I> numerati dove il numero corrisponde all' indice del nodo all' interno dell' XMLList.
E' facile dedurre quindi che per ottenere un singolo valore basterà indicare l' indice del nodo che vogliamo.
Quello finora descritto è solo una base per l’ uso dell’ E4X con Actionscript 3, in un prossimo tutorial analizzeremo i sistemi di ricerca all’ interno dei documenti XML.
Cerca: Actionscript 3, AS 3, E4X, XML ActionscriptRitieni questo post utile o interessante?
Condividi e Segnala
Leggi anche:
- Non ci sono articoli correlati




