certo tranquillo!
riassumendo:
ti posto tutto il codice:
codice:
filexml = "news.xml";
ApriXML();
      function ApriXML () {
 mioxml = new XML();
 myarray = new Array();
 myarray2 = new Array();
 myarray3 = new Array();
 tot = new Array();
 datax = new Array();
 oggettox = new Array();
 corpox = new Array();
 mioxml.load(filexml);
 mioxml.onLoad = ElaboraXML;
      function ElaboraXML (success) {
		//se il documento XML è caricato prodeco all'estrapolazione
        if (mioxml.loaded) { 	//if mioxml.loaded
		_root.loading_data.gotoAndPlay("load");
		  myarray = mioxml.childNodes;

	   // estrapolo dai tag
		  for (j=0;j<=myarray.length;j++){	//for 1
		  
// APRO IL NODO PRINCIPALE (LISTA)
		  if (myarray[j].nodeName == "lista"){	//if 1
			   myarray2 = myarray[j].childNodes;
				  for (i=0;i<=myarray2.length;i++){		//for 2
// APRO IL NODO SECONDARIO (NEWS)
					 if (myarray2[i].nodeName == "news"){	//if 2
					   myarray3 = myarray2[i].childNodes;
// APRO IL NODO NEWS
							tot=myarray3;
						  for (k=0;k<=myarray3.length;k++){//for 3
							 if (myarray3[k].nodeName == "data"){	//if 3	
							   _root.datax.push(myarray3[k].childNodes.toString());
							 }//end if 3
							if (myarray3[k].nodeName == "oggetto"){	// if 4
							   _root.oggettox.push(myarray3[k].childNodes.toString());
							 }//end if 4
							if (myarray3[k].nodeName == "corpo"){	// if 5
							   _root.corpox.push(myarray3[k].childNodes.toString());
							   }//end if 5
							 }// end for 3	
					}//end if 2
				}//end for 2
			}//end if 1

		}//end for 1
		
		};//end if mioxml.loaded
		
// 
for (i=0; i<=myarray3.length; i++) { 

            // Inserisco un movieclip dalla libreria allo stage 
            _root.main.riga.attachMovie("clipmsg", "clipmsg"+i, i); 
             
            // Attribuisco le coordinate X e Y 
            _root.main.riga["clipmsg"+i]._x = 10 
            _root.main.riga["clipmsg"+i]._y = i*160; 
             
            // Passo al movieclip le variabili che ho preso dall'XML e messo negli Array 
            _root.main.riga["clipmsg"+i].var_data= datax[i]; 
            _root.main.riga["clipmsg"+i].var_ogg = oggettox[i];          
	trace("---------");
	trace(datax[i]);
	trace(oggettox[i]);
	trace(corpox[i]);
}
		//ALLEGGERISCO LA CPU :)
	 delete myarray;
     delete myarray2;
     delete myarray3;
     delete mioxml;
 };
 };
Con il trace che ho scritto i valori dell xml me li legge, perciò fin qui tutto ok!.

Ora, voglio che venga creata una sequeza di mc che contiene una news (data oggetto e corpo) ciascuna, tramite questo codice:
codice:
for (i=0; i<=myarray3.length; i++) { 

            // Inserisco un movieclip dalla libreria allo stage 
            _root.main.riga.attachMovie("clipmsg", "clipmsg"+i, i); 
             
            // Attribuisco le coordinate X e Y 
            _root.main["clipmsg"+i]._x = 10 
            _root.main["clipmsg"+i]._y = i*160; 
             
            // Passo al movieclip le variabili che ho preso dall'XML e messo negli Array 
            _root.main["clipmsg"+i].var_data= datax[i]; 
            _root.main["clipmsg"+i].var_ogg = oggettox[i];  
}
il mc "modello" contiene tre campi di testo dinamici, ognuno sotto la voce "var" contiene:
- var_data
- var_ogg
- var_corpo
Il nome d'istanza di questo mc è riga.

Con il codice che gentilmente mi hai passato dovrei creare quella sequenza (in verticale).
Se noti ho modificato la seguente riga:
_root.main.riga.attachMovie("clipmsg", "clipmsg"+i, i);

correggimi se sbaglio:
come l'ho scritta io duplica il mc riga
come l'hai scritta tu duplica main
o no? dimmi se sbaglio!