non ho ancora potuto provare il codice (anche perchè richiede più tempo di quello che mi sembrava all'inizio) ma ho riletto un po' tutta la discussione, mi sembra che i tuoi errori siano di parsing del file .xml, come se stessi dimenticando delle cose, ti faccio un esempio semplicissimo
codice:
//file xml:
<dati>
<nodo attributo="primo attributo" />
<nodo>valore del nodo</nodo>
<nodo>35</nodo>
</dati>
se io in flash scrivo
codice:
var nodo0 = new String();
var nodo1 = new String();
var nodo2 = new String();
var nodo3 = new String();
var nodo4 = new String();
var xmlArr = new Array();
var parser = new XML();
parser.ignoreWhite = true;
parser.onLoad = function(success){
if(success){
xmlArr = parser.firstChild.ChildNodes;
nodo0 = xmlArr[0];
nodo1 = xmlArr[0].attributes.attributo;
trace (nodo0);//restituisce: <nodo attributo="primo attributo" />
trace (nodo1);//restituisce: primo attributo
nodo2 = xmlArr[1];
nodo3 = xmlArr[1].childNodes.toString();
trace (nodo2);//restituisce: <nodo>valore del nodo</nodo>
trace (nodo3);//restituisce: valore del nodo
nodo4 = xmlArr[2];
nodo5 = xmlArr[2].childNodes.toString;
trace(nodo4);//restituisce: <nodo>35</nodo>
trace(nodo5);//restituisce: 35
//per eseguire un'operazione con "nodo5" usi Number ad esempio
doppio = Number(nodo5)*2;//restituisce: 70
}
}
parser.load("mioXml.xml");
spero di aver chiarito meglio la questione