Ciao a tutti, sto impazzendo da due ore su questo:
grazie alla guida sul sito di html.it ho imparato a fare il parsing di un documento xml (well formed)
ed ho creato una funzione che mi inserisce i dati contenuti nei vari nodi del documento, in vari array che dopo dovrei utilizzare per popolare dei campi di testo all'interno di un MC.
la funzione fa il suo lavoro, e se faccio il trace degli array, subito dopo averli popolati gli array sono popolati,
se lo faccio dal di fuori della funzione gli array sono "undefined"!
non capisco perché, ho provato a dichiararli in maniera globale ma nulla cambia, ovvero mi viene addirittura restituito un errore di sintassi.
questa è la funzione,
qualcuno mi sa dire cosa e dove sbaglio?
grazie moltissime ragazzi. ho perso mezza giorata a leggere la guida e praticamente ora non mi serve a nulla?
noooo, sto impazzendo....
![]()
Codice PHP:file_news_xml = "news_content.xml";
function apri_news() {
news_xml = new XML();
var news_array:Array = [];
var news_array2:Array = [];
var news_array3:Array = [];
var news_array4:Array = [];
var news_array5:Array = [];
var news_data:Array =[];
var news_titolo:Array = [];
var news_intro:Array = [];
var news_txt:Array = [];
news_xml.load(file_news_xml);
news_xml.onLoad = ElaboraXML;
function ElaboraXML(success) {
if (news_xml.loaded) {
news_array = news_xml.childNodes;
for (var j=0;j<=news_array.length;j++){
if (news_array[j].nodeName == "news"){
news_array2 = news_array[j].childNodes;
for (var i=0;i<=news_array2.length;i++){
if (news_array2[i].nodeName == "notizia"){
news_data.push(news_array2[i].attributes.dt);
news_array3 = news_array2[i].childNodes;
for (var k=0;k<=news_array3.length;k++){
if (news_array3[k].nodeName == "title"){
news_titolo.push(news_array3[k].childNodes.toString());
news_array4 = news_array3[k].childNodes;
for (var w=0;w<=news_array4.length;w++){
if (news_array4[w].nodeName == "intro"){
_root.page4.news_intro.push(news_array4[w].childNodes.toString());
news_array5 = news_array4[w].childNodes;
for (var v=0;v<=news_array5.length;v++){
if (news_array5[v].nodeName == "testo"){
_root.page4.news_txt.push(news_array5[v].childNodes.toString());
}
}
}
}
}
}
}
}
}
}
}
delete news_array;
delete news_array2;
delete news_array3;
delete news_array4;
delete news_array5;
delete news_xml;
}
}

Rispondi quotando