Affichage XML avec AS3

Guerrilla Messages postés 14 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 25 novembre 2010 - 29 mars 2010 à 18:25
bantunani Messages postés 3 Date d'inscription vendredi 13 août 2010 Statut Membre Dernière intervention 15 août 2010 - 14 août 2010 à 13:47
Bonjour à tous,
Je souhaite faire un simple affichage de contenu XML dans mon animation, le problème c'est que il n'y a que la première entrée qui s'affiche, pas le reste. Voici le code:

// PARTIE XML
var chargementXML:URLLoader = new URLLoader();
var fichier:URLRequest = new URLRequest("news.xml");
// url du fichier chargé
chargementXML.addEventListener( Event.COMPLETE, chargementComplet );
chargementXML.load( fichier );
// chargement terminé du fichier xml
function chargementComplet(pEvt:Event):void
{
var nouvelles:XML = new XML( pEvt.target.data );
var news:XMLList = nouvelles.elements(); 
for each(var infos:XML in news)
{
chargeur.text = (infos.date + " | " + infos.contenu);

}

}


Il faut sûrement faire une incrémentation ou je sais pas, AS3 n'est pas mon fort...
Merci à vous
Joakim

7 réponses

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
29 mars 2010 à 18:46
Bonsoir,

Problème déjà soulevé il y a quelques jours :

Un xml n'a qu'une seul entrée, c'est à dire sa balise de base.
Pour cibler les entrées du contenu du XML; il faut utiliser la méthode : monXML.children();

Peg'
0
cs_ourso Messages postés 92 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 5 décembre 2010
29 mars 2010 à 19:32
C'est normal ... ça doit d'ailleurs être plutôt être la dernière info non ?
à chaque boucle tu remplace le texte par l'entrée suivante... Pour ajouter du contenu à un champ texte déja rempli soit tu utilise "+=" au lieu de "=" ou la fonction appendText() de TextField. (n'oublie pas le saut de ligne)
donc :

for each(var infos:XML in news)
{
chargeur.text += \ninfos.date + " | " + infos.contenu;
}

ou

for each(var infos:XML in news)
{
chargeur.appendText( \ninfos.date + " | " + infos.contenu);
}

ou

for each(var infos:XML in news)
{
chargeur.htmlText += infos.date + " | " + infos.contenu
;
}
Steph
0
cs_brutos Messages postés 17 Date d'inscription dimanche 28 août 2005 Statut Membre Dernière intervention 25 mars 2011
11 mai 2010 à 00:05
Bonsoir,

J'ai regardé attentivement votre code et j'ai reproduit vos exemples. J'ai cependant un résultat d'erreur :

1084: Erreur de syntaxe : rightbrace est attendu devant xmltagendend.
cool.htmlText += objets.nom + " le " + objets.date
;

D'ou cela provient-il ?

Merci par avance
0
cs_ourso Messages postés 92 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 5 décembre 2010
11 mai 2010 à 00:37
cool.htmlText += objets.nom + " le " + objets.date+"
";

Steph
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_brutos Messages postés 17 Date d'inscription dimanche 28 août 2005 Statut Membre Dernière intervention 25 mars 2011
11 mai 2010 à 10:44
Merci pour cette réponse rapide.
Cependant, l'erreur à disparu, mais le saut de ligne n'a pas lieu. Les éléments sont mis les uns à la suite des autres.
Une petite idée ?

Merci par avance.
0
cs_brutos Messages postés 17 Date d'inscription dimanche 28 août 2005 Statut Membre Dernière intervention 25 mars 2011
11 mai 2010 à 11:28
En fait c'est bon, problème résolu, une erreur de ma part.
Merci
0
bantunani Messages postés 3 Date d'inscription vendredi 13 août 2010 Statut Membre Dernière intervention 15 août 2010
14 août 2010 à 13:47
Bobbyclarck


BobbyclarckBonjour,
Je recherche des conseils, si ce n'est plus pour insérer un gestionaire XML à mon site flash afin gérer le contenu apparaissant'dans le cadre dépliant du milieu' lorsque que l'on clique sur les bouton de navigations.à voir sur http://www.blackninja.fr
J'ai hérité de ce site d'un ancien prestataire qui avait mis en place un systeme reposant sur du php/mysql que je n'ai pu.
Voici le lien pour voir le swf du site. Puis je vous enverrai le 'fla'.
MErci de votre aide.
0
Rejoignez-nous