IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ActionScript 3 Discussion :

URLloader et XML


Sujet :

ActionScript 3

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 61
    Par défaut URLloader et XML
    Bonjour,
    Je débute en flash et je me trouve confronté à plusieurs pbs :
    Je voudrais charger plusieurs fichiers xml fic1.xml,fic2.xml....
    et je voudrais creer un tableau de ces xml chargés.
    J'ai essayé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     var tabxml=new Array();
                     var charg:URLLoader = new URLLoader();
    		 var adres:URLRequest ; 
     
    		 for(var i:uint=1;i<nb;i++){
    			  adres = new URLRequest("fic"+i+".xml");
    			  charg.load(adres);
    			 charge.addEventListener(Event.COMPLETE, fcharge);
    		         function fcharge(evt:Event) {
    		        tabxml[i] = new XML(charge.data);
    		 }}
    Il semble que la valeur de i ne passe pas dans la fonction fcharge, j'ai donc rajouté un compteur, a defaut de passer i en paramètre(je ne sais pas faire)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    var tabxml=new Array();
                     var charg:URLLoader = new URLLoader();
    		 var adres:URLRequest ; 
     
    		 var cont:int=1;
     
    		 for(var i:uint=1;i<nb;i++){
    			  adres = new URLRequest("fic"+i+".xml");
    			  charg.load(adres);
    			 charge.addEventListener(Event.COMPLETE, fcharge);
    		         function fcharge(evt:Event) {
    		        tabxml[cont] = new XML(charge.data);
                            cont++;
    		 }
              }
    Cela étant rien à faire les tabxml[1],tabxml[2].. correspondent au dernier fichier xml chargé
    Que faire ?
    Merci
    Eric

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 61
    Par défaut complément
    Bonjour en fait le pb est simple :
    Je charge 3 fichiers .xml avec une boucle , mais le trace dans la fonction fchargeres me montre qu'il s'agit a chaque fois du fichier 3 .
    Comment faire ?
    Merci.Eric

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    var resxml:XML;
                             var char_res:URLLoader = new URLLoader();
    		         var adr_res:URLRequest ; 
     
                              for(var i:uint=1;i<4;i++){
     
    			  adr= new URLRequest("fic"+i+".xml");
    			 charg.load(adr);
    			 charg.addEventListener(Event.COMPLETE, fchargeres);
     
    			 function fchargeres(evt:Event) {
                            resxml= new XML(charg.data);                            
                            trace(resxml)
    			 }}

  3. #3
    Membre expérimenté Avatar de younes_
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 229
    Par défaut
    Salut,
    C'est normal parce que t'écrases à chaque fois l'instance URLLoader, du coup il va te charger que le contenu du dernier fichier XML.
    Essai plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    for(var i:uint=1;i<4;i++){
      var loader:URLloader: new URLLoader()
      loader.load(new URLRequest("fic"+i+".xml"));
      loader.addEventListener(Event.COMPLETE, fchargeres);
    }
    function fchargeres(evt:Event) 
    {
      var loader:URLLoader = event.target as URLLoader;
      var resxml:XML= new XML(loader.data);                            
      trace(resxml);
    }
    la ligne : var loader:URLLoader = event.target as URLLoader permet de récupérer l'instance de l'URLLoader qui vient d'être charger.

    a+

    Citation Envoyé par errog Voir le message
    Bonjour en fait le pb est simple :
    Je charge 3 fichiers .xml avec une boucle , mais le trace dans la fonction fchargeres me montre qu'il s'agit a chaque fois du fichier 3 .
    Comment faire ?
    Merci.Eric

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    var resxml:XML;
                             var char_res:URLLoader = new URLLoader();
    		         var adr_res:URLRequest ; 
     
                              for(var i:uint=1;i<4;i++){
     
    			  adr= new URLRequest("fic"+i+".xml");
    			 charg.load(adr);
    			 charg.addEventListener(Event.COMPLETE, fchargeres);
     
    			 function fchargeres(evt:Event) {
                            resxml= new XML(charg.data);                            
                            trace(resxml)
    			 }}

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 61
    Par défaut
    Bonjour,
    merci , ca marche, en plus j'avais fait l'erreur de placer la fonction chargeres dans la boucle...

    Pour terminer, dans la meme idée, comment récupérer la valeur de i ( compteur de la boucle) dans la fonction chargeres ? ( naivement si je fais un trace(i) à l'intérieur de cette fonction , je lis a chaque fois 4, alors que je voudrais y lire successivement 1,2,3
    Merci Beaucoup.
    E.Rogel

Discussions similaires

  1. Charger xml dans un "model" via URLloader
    Par Goffer dans le forum Flex
    Réponses: 0
    Dernier message: 24/07/2009, 12h38
  2. Balises HTML dans un fichier XML
    Par Bastet79 dans le forum XML/XSL et SOAP
    Réponses: 12
    Dernier message: 04/09/2002, 15h29
  3. delphi XML / HTML caractéres speciaux !
    Par adem dans le forum EDI
    Réponses: 2
    Dernier message: 29/08/2002, 17h48
  4. Débutant XML
    Par viny dans le forum XML/XSL et SOAP
    Réponses: 8
    Dernier message: 25/07/2002, 12h07
  5. Pas de casse dans les XML
    Par :GREG: dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/07/2002, 13h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo