Considera questo file xml:
codice:
<galleriafoto quadri="40" passo="6">
<categoria nome="ufficio">
<img nome="01" pos="foto/img01.jpg"/>
<img nome="02" pos="foto/img02.jpg"/>
<img nome="03" pos="foto/img03.jpg"/>
<img nome="04" pos="foto/img04.jpg"/>
<img nome="05" pos="foto/img05.jpg"/>
<img nome="06" pos="foto/img06.jpg"/>
<img nome="07" pos="foto/img07.jpg"/>
<img nome="08" pos="foto/img08.jpg"/>
</categoria>
<categoria nome="casa">
<img nome="09" pos="foto/img09.jpg"/>
<img nome="10" pos="foto/img10.jpg"/>
<img nome="11" pos="foto/img11.jpg"/>
<img nome="12" pos="foto/img12.jpg"/>
<img nome="13" pos="foto/img13.jpg"/>
<img nome="14" pos="foto/img14.jpg"/>
<img nome="14" pos="foto/img15.jpg"/>
</categoria>
</galleriafoto>
E questo script:
codice:
data_xml = new XML();
data_xml.ignoreWhite = true;
data_xml.path = this;
data_xml.onLoad = function(success)
{
if(success){
this.path.galleria = {};
var main_nodes = this.firstChild.childNodes;
for(var i = 0; i < main_nodes.length; i++){
this.path.galleria[main_nodes[i].attributes.nome] = [];
var sub_nodes = main_nodes[i].childNodes;
for(var j = 0; j < sub_nodes.length; j++){
var item = {}
item.nome = sub_nodes[j].attributes.nome;
item.pos = sub_nodes[j].attributes.pos
this.path.galleria[main_nodes[i].attributes.nome].push(item);
}
}
} else {
trace("XML FILE NOT FOUND");
}
};
data_xml.load("galleria.xml");
Alla fine del caricamento avrai un oggetto chiamato "galleria", che conterrà tanti oggetti quante sono le categorie indicate nel file xml ( e con quel nome). ogni categoria sarà un array di oggetti, tanti quante le foto per la categoria stessa: ogni oggetto avrà due proprietà, "nome" e "pos".
Quindi, ad esempio, per sapere l'url della quarta foto della categoria "ufficio", scriverai:
codice:
url = galleria.ufficio[3].pos;