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 :

Afficher mes données XML avec un Combobox


Sujet :

ActionScript 3

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Afficher mes données XML avec un Combobox
    Bonjour !

    Je débute...

    Mon premier exercice est de d'afficher, via un fichier XML externe, les données de celui-ci dans une combobox. J'y suis presque, mais je ne connais pas la fin...

    Voici :

    Mon fichier xml ressemble à ça :

    <base>
    <article idrub="20" idart="226" url="http://www...">Premier titre d'article</article>
    <article idrub="28" idart="228" url="http://www...">Deuxième titre d'article</article>
    </base>

    Et voici le code pour l'appeler :

    import flash.net.URLLoader;
    import flash.net.URLRequest;
    import flash.events.Event;
    import fl.data.DataProvider;
    import fl.controls.ComboBox;

    var Base:XML;
    var chargeur:URLLoader = new URLLoader ();
    var adresse:URLRequest = new URLRequest ("http://www...");
    chargeur.load(adresse);
    chargeur.addEventListener(Event.COMPLETE, chargementok);

    function chargementok (event:Event):void {
    if(chargeur!=null){
    Base = new XML(chargeur.data);
    var dpataProvider = new DataProvider(Base);

    artsliste8.dataProvider = dp;
    artsliste8.prompt = "Voir les documents";
    artsliste8.labelField = Base.article.(@idrub=="8");

    } else { trace ("Pas de résultats"); }
    }

    Je sais que je suis tout près, car j'ai 63 emplacements vides dans ma Combobox (il y a actuellement 63 articles dans mon fichier XML), et si je mets un "trace" dans la dernière ligne, les articles s'affichent, mais :
    - 63 dans la combobox (alors que j'en veux que 4, d'où le filtre idrub=8)
    - un fichier externe s'ouvre avec uniquement les 4 que je veux mettre... dans la combobox !

    Quelqu'un peut-il me dire pourquoi ?

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut la nuit portant conseil...
    S'il y a des personnes intéressées voici la réponse que j'ai trouvé, à savoir qu'il faut changer la structure du doc XML pour qu'il ressemble plutôt à ça (tout passe en attributs) :

    <base>
    <article idrub="20" idart="226" url="http://www...." titre="Premier titre" date="5 mai 1997" />
    <article idrub="29" idart="224" url="http://www..." titre="deuxième titre" date="1999" />
    </base>
    Et donc la dernière ligne du code flash donne ça :

    artsliste8.labelField = "titre";
    ... et je cherche toujours comment trier les résultats selon l'attribut idrub : je ne veux que l'idrub20 dans mes résultats...

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    et si je raconte une blague à celui qui me file un coup de main ça marche mieux ? ...

  4. #4
    Membre régulier
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    76
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 76
    Points : 74
    Points
    74
    Par défaut
    Bonjour,
    Tu devrais faire un test avec un if sur ton @idrub == "8" pour être sûr de n'avoir que les rubrique qui t'interesse...
    Je ne connais pas
    Base.article.(@idrub=="8");
    , sans doute que celà marche, mais avec un if, tu es sûr...

  5. #5
    Membre confirmé Avatar de IP-Fix
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    421
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 421
    Points : 494
    Points
    494
    Par défaut
    Moi j'aurais fait comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    var xml=<base>
    <article idrub="20" idart="226" url="http://www...." titre="Premier titre" date="5 mai 1997" />
    <article idrub="29" idart="224" url="http://www..." titre="deuxième titre" date="1999" />
    </base>;
     
    var Base:XML = new XML(xml);
     
    var list:XMLList = Base.article.(@idrub == 20);
    var item:XML;
    for each(item in list) {
    	//ton traitement pour chaque article
    	trace("item: " + item.toXMLString());
    }
    On note que quand on compare un attribut avec un nombre pas besoin de faire @idrub == '20';
    @idrub == 20; suffit en as3.

    En esperant t'avoir aidé.

Discussions similaires

  1. Afficher mes données Combobox
    Par solaar dans le forum IHM
    Réponses: 4
    Dernier message: 29/01/2011, 19h26
  2. [SimpleXML] recuperer données xml avec simplexml
    Par astrolane dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 29/08/2007, 14h39
  3. [PDO] afficher mes données par colonnes dynamiquement
    Par mariafan dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 24/07/2007, 09h52
  4. probleme d'affichage de données XML avec XSL
    Par sundjata dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 08/06/2006, 18h59
  5. [MySQL] Afficher mes données dans un tableau HTML
    Par lassmust dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 02/03/2006, 11h43

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