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;
    }