Partendo dall'ormai celeberrimo esempio di Enrico Lai su "Flash e XML" (es_10), sto tentando di visualizzare su un .swf i dati che carico da un XML. Invano.
Ecco il codice AS, che naturalmente ho inserito nel primo -ed unico- fotogramma del filmato .fla:
filexml = "modelli.xml";
ApriXML();
function ApriXML () {
mioxml = new XML();
myarray = new Array();
mioxml.load(filexml);
mioxml.onLoad = ElaboraXML;
function ElaboraXML (success) {
if (mioxml.loaded) {
myarray = mioxml.childNodes;
Dati();
CreaTabelle();
delete myarray;
delete mioxml;
}
};
};
// Funzione che prende i dati XML e li mette in degli Array
function Dati () {
// Array che contengono i Dati -----------------------
modelli = new Array();
modello = new Array();
costo = new Array();
caratteristiche = new Array();
for (k=0; k<=myarray.length; k++) {
if (myarray[k].nodeName == "modello") {
modello.push(myarray[k].attributes.id);
} else if (myarray[k].nodeName == "costo") {
costo.push(myarray[k].attributes.h);
} else if (myarray[k].nodeName == "caratteristiche") {
caratteristiche.push(myarray[k].attributes.h);
}
};
};
// Funzione che Crea i clip
// e li posiziona sullo stage del filmato
function CreaTabelle () {
barranav.attachMovie("clipmsg", "clipmsg"+i, i);
// Attribuisco la coordinata X e Y
_root.barranav["clipmsg"+i]._x = 10
_root.barranav["clipmsg"+i]._y = 25+i*45;
// Passo al clip le variabili che ho preso dall'XML e messo negli Array
_root.barranav["clipmsg"+i].modello = modello[i];
_root.barranav["clipmsg"+i].costo = costo[i];
_root.barranav["clipmsg"+i].caratteristiche = caratteristiche[i];
};
questo il codice XML del file che ho chiamato modelli.xml
<?xml version="1.0" encoding="UTF-8"?>
<modelli>
<modello id="AZ1570">
<costo>250 euros</costo>
<caratteristiche>bellissimo</caratteristiche>
</modello>
<modello id="AZ1572">
<costo>300 euros</costo>
<caratteristiche>uh</caratteristiche>
</modello>
<modello id="AZ1578">
<costo>50 euros</costo>
<caratteristiche>ah</caratteristiche>
</modelli>
help me please!!![]()