Flash + xml problème de gestion des données

cs_lennie Messages postés 1 Date d'inscription vendredi 2 mai 2003 Statut Membre Dernière intervention 5 mai 2004 - 5 mai 2004 à 23:42
cs_adv Messages postés 149 Date d'inscription vendredi 30 mai 2003 Statut Membre Dernière intervention 28 janvier 2011 - 6 mai 2004 à 17:08
Bonjour,
alors voilà, j'ai un fichier xml contenant une liste d'images, stucturé comme ceci:
<data>
commentaires
commentaires
commentaires
commentaires
(etc)
</data>

Les images sont classées par séries, toutes les images d'une même série on le même nom.

Je loade mon fichier xml au début de mon anim comme ceci:
_global.dbcontent=new XML();
dbcontent.ignoreWhite=true;
dbcontent.load("dbcontent.xml");
stop();
dbcontent.onLoad=function() {  
gotoAndStop("done");
}


tout marche bien jusque-là.

----------LES PROBLEMES COMMENCENT ICI--------------------
plus tard dans l'anim, j'ai ce code:
_global.dbnoeuds = dbcontent.firstChild.childNodes;
_global.dblong = dbnoeuds.length;
_global.getContent = function(arg) {
for(j=0; j<dblong; j++) {
if(dbnoeuds[j].attributes.nom == arg) {
_global["photo"+j] = dbnoeuds[j].attributes.imgurl;
_global["comments"+j] = dbnoeuds[j].nodeValue;
_global["date"+j] = dbnoeuds[j].attributes.date;
_global["location"+j] = dbnoeuds[j].attributes.lieu;
_global["imgname"+j] = dbnoeuds[j].attributes.nom;
}
}
}


mon problème est le suivant: je veux affecter à un bouton une action du style:
on(release) {
getContent("nom2")
}
et utiliser les variables définies dans la fonction getContent pour afficher (après clic) d'abord la première image (+ les infos qui vont avec) de la série correspondante - par exemple ici la première image dont l'attribut nom est "nom2", qui peut donc être n'importe où dans mon xml - puis les suivantes à l'aide d'un bouton "image suivante" et d'une fonction adéquate.

Or pour pouvoir faire cela il faut que je récupère, à l'intérieur de ma fonction getContent(), la première valeur de j pour laquelle on a: dbnoeuds[j].attributes.nom == arg (avec arg="nom2", on aurait donc j=2 puisque dans le xml donné plus haut cet attribut apparaît au troisième noeud enfant).

c'est là que je bloque, comment dire à flash un truc du genre:
"va chercher dans le fichier xml toutes les lignes respectant le paramètre 'attribut nom = untel' et affiche d'abord les données contenues dans la première de ces lignes, puis les suivantes lorsque le bouton 'image suivante' sera cliqué"?

je sais que pour récupérer les entrées suivantes on peut utiliser nextSibling et bidouiller autour, mais pour récupérer la première valeur de j correspondante après le if(), comment m'y prendre?

Help please, ça fait 2 jours que je suis bloquée là-dessus!

1 réponse

cs_adv Messages postés 149 Date d'inscription vendredi 30 mai 2003 Statut Membre Dernière intervention 28 janvier 2011 2
6 mai 2004 à 17:08
function getCOntent dans ta boucle for, au test if, tu pourais peut-être utiliser un tableau dans lequel tu stock les indices des noeuds qui passe le test.
Ensuite les boutons suivant peut naviguer dans cette liste d'indices.
0
Rejoignez-nous