ah... dal thread non era chiaro, pareva solo che non riuscissi a fare l'ultima parte
Non riesco a creare l'array e non riesco ad assegnare i link ai vari mc
non che non avessi fatto nulla
comunque la guida è un po' vecchia, magari è per questo che non ti ci ritrovi
ti scrivo il codice del parsing... ma devi sforzarti a comprenderlo se poi vuoi andare avanti da sola
Codice PHP:
// creo una stringa con il nome del file xml
var u:String = "test.xml";
// creo un array che riempirò al caricamento dell'xml
var a:Array = new Array();
// creo un oggetto xml da sfruttare per il parsing dell'xml esterno
var p:XML = new XML();
// comprimo i nodi eliminando gli spazi, per evitare problemi nel parsing
p.ignoreWhite = true;
// attivo il metodo onLoad dentro il quale scrivo il parsing dell'xml
p.onLoad = function(ok) {
// se caricato correttamente
if (this.loaded) {
// creo una variabile che contenga i nodi sotto forma di array
var temp:Array = this.firstChild.childNodes;
// con un ciclo "for" ne estraggo tutti i nodi e gli attributi di cui ho bisogno
for (var i:Number = 0; i<temp.length; i++) {
// per ogni nodo, inserisco nell'array "a" un Object con tre variabili: "id", "link", "targets"
a.push({id:temp[i].attributes.id, link:temp[i].firstChild.attributes.link, targets:temp[i].firstChild.attributes.targets});
// al termine del ciclo, ossia quando "i" arriva al limite...
if (i>=temp.length-1) {
// ... avvio la funzione di utilizzo dell'array appena riempito
useArray(a);
}
}
}
};
function useArray(a:Array) {
// azioni di utilizzo dell'array "a"
// ogni indice dell'array contiene le variabili "id", "link", "targets"
// sfruttabili all'interno di questa funzione, ad esempio io ne faccio un trace
for (var k:Number = 0; k<a.length; k++) {
trace("id: "+a[k].id);
trace("link: "+a[k].link);
trace("targets: "+a[k].targets);
trace("______________________");
}
}
p.load(u);