Adesso, però, proviamo ad inserire nel campo di testo solo il contenuto vero e proprio del nodo. Come abbiamo visto, il contenuto di un nodo è conservato nella proprietà nodeValue
relativa al primo figlio del nodo stesso (infatti il contenuto testuale del nodo viene considerato un nodo figlio).
mio_xml = new XML();
mio_xml.path = this;
mio_xml.ignoreWhite = true;
mio_xml.onLoad = function(success)
{
if(success){
// mostriamo nel campo di testo solo
// il contenuto del primo nodo figlio
this.path.testo = this.firstChild.firstChild.nodeValue;
} else {
this.path.testo = "caricamento errato";
}
};
mio_xml.load("file1.xml");
Cambiamo il file XML, aggiungendo questa volta anche due attributi:
Per mostrare il valore di un attributo, dobbiamo accedere alla proprietà attributes
del nodo: la proprietà attributes
è un array associativo, e con la sintassi attributes.attributo
ne estraiamo il contenuto:
mio_xml = new XML();
mio_xml.path = this;
mio_xml.ignoreWhite = true;
mio_xml.onLoad = function(success)
{
if(success){
// mostriamo nel campo di testo solo il contenuto
// dell'attributo "regista", accessibile tramite
// la proprietà "attributes"
this.path.testo = this.firstChild.attributes.regista;
}else {
this.path.testo = "caricamento errato";
}
};
mio_xml.load("file2.xml");
Per mettere tutto assieme, modifichiamo innanzitutto il campo di testo, settandone l'opzione HTML dal pannello Text Options:
Pannello Text Options
Quindi, via script:
mio_xml = new XML();
mio_xml.path = this;
mio_xml.ignoreWhite = true;
mio_xml.onLoad = function(success)
{
if(success){
// creiamo due variabili locali, contenenti l'apertura
// e la chiusura del tag html "font" impostandone il colore
var t1 = "<font color='#006699'>";
var t2 = "</font>";
// creiamo tre variabili locali, rispettivamente per il
// contenuto e i due attributi del primo nodo del file xml
var titolo = this.firstChild.firstChild.nodeValue;
var regista = this.firstChild.attributes.regista;
var anno = this.firstChild.attributes.anno;
// definiamo nella timeline salvata in "path" la variabile
// "testo", che ci verrà mostrata dall'omonimo campo
// per ogni riga di "testo", creiamo una stringa formata
// da una sottostringa, dall'apertura del tag font, dal
// valore di una delle tre variabili, dalla sua chiusura
// e da un rimando a capo
this.path.testo = "Titolo: " + t1 + titolo + t2 + "<br>";
this.path.testo += "Regista: " + t1 + regista + t2 + "<br>";
this.path.testo += "Anno: " + t1 + anno + t2;
} else {
this.path.testo = "caricamento errato";
}
};
mio_xml.load("file2.xml");