certo tranquillo!
riassumendo:
ti posto tutto il codice:
Con il trace che ho scritto i valori dell xml me li legge, perciò fin qui tutto ok!.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; }; };
Ora, voglio che venga creata una sequeza di mc che contiene una news (data oggetto e corpo) ciascuna, tramite questo codice:
il mc "modello" contiene tre campi di testo dinamici, ognuno sotto la voce "var" contiene: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]; }
- 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!

Rispondi quotando
VVoVe:
