Imossible liste xml

nikos69 Messages postés 11 Date d'inscription vendredi 24 octobre 2003 Statut Membre Dernière intervention 26 octobre 2005 - 17 mai 2005 à 14:17
stown Messages postés 93 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 11 mai 2006 - 17 mai 2005 à 16:36
Bonjour,


je voudrais lister des noeuds dans un texte dynamique
à partir d'un fichier xml:


le code AS:
----------------------------------------------
liste=new Array();
XML_accueil = new XML();
XML_accueil.ignoreWhite = true;
XML_accueil.onLoad = function(){



liste=XML_accueil.firstChild.childNodes
for(var i = 0; i<liste.length;i++){

mc_titre.titre=liste[i].attributes.title
trace(mc_titre.titre)


}};

XML_accueil.load("fichier.xml");
----------------------------------------------



le code XML :
----------------------------------------------
<gallery>

</gallery>
----------------------------------------------



jusque-la le TRACE renvoie bien tous les noeuds "title", (montitre1,2,3...)
mais dans mon champ texte il m'affiche le dernier "montitre5"
je ne comprend pas
merci d'avance pour tous conseils

4 réponses

stown Messages postés 93 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 11 mai 2006
17 mai 2005 à 15:19
salut!

for(var i = 0; i<liste.length;i++){
mc_titre.titre=liste[i].attributes.title
trace(mc_titre.titre)
}

c'est normal, ton champ texte est modifier a chaque passage dans la boucle... si tu veux i affiché tout les titre il te faut faire:

for(var i = 0; i<liste.length;i++){
//possiblilité 1
mc_titre.titre+=liste[i].attributes.title

//possiblilité 2
mc_titre.titre= mc_titre.titre + liste[i].attributes.title
}

mais bon.. je vois pas trop l'utilité de faire sa...
0
nikos69 Messages postés 11 Date d'inscription vendredi 24 octobre 2003 Statut Membre Dernière intervention 26 octobre 2005
17 mai 2005 à 15:30
merci

mais si je devais afficher chaque noeud dans un clip different?
je dois avant tout dupliquer le clip titre?

mais je ne comprend pas koment on duplique partir de la "liste"
---------------------------
liste=new Array();
XML_accueil = new XML();
XML_accueil.ignoreWhite = true;
XML_accueil.onLoad = function(){


liste=XML_accueil.firstChild.childNodes;


_root.attachMovie("clip_titre","clip_cont"+i,i)


for(var i = 0; i<liste.length;i++){



_root.duplicateMovieClip(["clip_cont"+i],i)
(["clip_cont"+i]).titre += ""+liste[i].attributes.title

}};

XML_accueil.load("fichier.xml");


-------------------------------------------
merci d'avance
0
nikos69 Messages postés 11 Date d'inscription vendredi 24 octobre 2003 Statut Membre Dernière intervention 26 octobre 2005
17 mai 2005 à 15:34
merci

mais si je devais afficher chaque noeud dans un clip different?
je dois avant tout dupliquer le clip titre?

mais je ne comprend pas koment on duplique partir de la "liste"
---------------------------
liste=new Array();
XML_accueil = new XML();
XML_accueil.ignoreWhite = true;
XML_accueil.onLoad = function(){


liste=XML_accueil.firstChild.childNodes;


_root.attachMovie("clip_titre","clip_cont"+i,i)


for(var i = 0; i<liste.length;i++){



_root.duplicateMovieClip(["clip_cont"+i],i)
(["clip_cont"+i]).titre += ""+liste[i].attributes.title

}};

XML_accueil.load("fichier.xml");


-------------------------------------------
merci d'avance
0
stown Messages postés 93 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 11 mai 2006
17 mai 2005 à 16:36
tu le fait dans ta boucle for (personnelement je le fait uniquement avec attachMovie)

profondeur_titre = 100
for(var i = 0; i<liste.length;i++){
_root.attachMovie(mc_titre,"titre"+i,profondeur_titre+i,{_x:x,_y:y})
_root["titre"+i] = liste[i].attributes.title
}

x et y :
avec sa tu peu placé chak foi le clip ou tu veu (par ex si tu veu que sa dessende a chaque foit tu crée un variable que tu incrémente en fonction de la hauteur de ton clip mc_titre)

profondeur:
tu ne peu pas avoir 2clip a la meme profondeur!... toujour utile a signalé car c'est souvent la cause d'erreur!

attachMovie:
si tu na jamais utlisé: F1 dans flash!!!!!!!!!!!!!!!!!!!
0
Rejoignez-nous