Vediamo infine il codice utilizzato nel 3° fotogramma della nostra applicazione. Il terzo fotogramma ci permette sia di inserire un nuovo canale RSS (o RDF) nel nostro data base sia di modificarne i dati di uno già esistente (ad esempio modificarne il nome che lo identifica o l'URL da cui viene caricato) e memorizzare queste modifiche nel data base.
La funzione principale definita nel terzo fotogramma si chiama Default:
stop ();
// Funzione che permette di caricare un XML e di prelevare il valore del titolo e impostarlo
// di default nel form di inserimento / modifica del canale RSS
function Default () {
_root.loading = "Caricamento del documento XML...";
mioxml = new XML();
myarray = new Array();
myarray2 = new Array();
myarray3 = new Array();
myarray4 = new Array();
titleitem = new Array();
description = new Array();
link = new Array();
mioxml.load(filexml);
mioxml.onLoad = ElaboraXML;
function ElaboraXML (success) {
if (mioxml.loaded) {
myarray = mioxml.childNodes;
for (j=0;j<=myarray.length;j++){
if (myarray[j].nodeName> == "rss" || myarray[j].nodeName == "rdf:RDF"){
myarray2 = myarray[j].childNodes;
for (i=0;i<=myarray2.length;i++){
if (myarray2[i].nodeName == "channel"){
myarray3 = myarray2[i].childNodes;
for (k=0;k<=myarray3.length;k++){
if (myarray3[k].nodeName == "title"){
// Setto il TITOLO
_root.titlechannel = myarray3[k].childNodes.toString();
}
if (myarray3[k].nodeName == "description"){
// Messaggio di caricamento avvenuto
_root.loading = "Documento XML caricato correttamente. - " + myarray3[k].childNodes.toString();
}
}
}
}
}
}
} else {
// Messaggio caricamento non riuscito
_root.loading = "Errore nell'apertura del file XML.";
};
// Libero risorse
delete myarray;
delete myarray2;
delete myarray3;
delete myarray4;
delete mioxml;
};
};