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

Flex Discussion :

Récupération contenu XML par HTTPService et utilisation avec XMLList [Flex3]


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 29
    Par défaut Récupération contenu XML par HTTPService et utilisation avec XMLList
    Bonjour,

    J'ai un fichier contenu.xml comme ceci :

    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
    16
    17
    18
    19
    20
    21
    <contenu>    
        <accueil>
            <identification>
                <donnee>
                    <terme>Groupe</terme>            
                    <definition>désignation du ...</definition>
                </donnee>
                <donnee>
                    <terme>Utilisateur</terme>
                    <definition>identifiant de l'utilisateur connecté.</definition>
                </donnee>
                <donnee>
                    <terme>Support</terme>
                    <definition>Un click sur ce bouton, vous permet d'interroger le support technique ...</definition>
                </donnee>
            </identification>
            <messagerie>
                Messagerie interne ...
            </messagerie>
        </accueil>
    </contenu>
    et je souhaite afficher la liste les termes (et de leur définition) de la rubrique accueil. J'ai écrit ce mxml :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
        creationComplete="init()">
     
    <mx:Script>
        <![CDATA[
            import mx.rpc.http.HTTPService;
            import mx.rpc.events.ResultEvent;
            import mx.rpc.events.FaultEvent;
            import mx.controls.Alert;
            private function init():void
            {
                srv.send();
            }
            private function srv_fault(evt:FaultEvent):void
            {
                var title:String = evt.type + " (" + evt.fault.faultCode + ")";
                var text:String = evt.fault.faultString;
                Alert.show(text, title);
                xmlListColl.removeAll();
            }
            private function srv_result(evt:ResultEvent):void
            {
                var xmlList:XMLList = XML(evt.result).accueil.identification.donnee;
                Alert.show(xmlList.terme);
                xmlListColl = new XMLListCollection(xmlList);
            }
        ]]>
    </mx:Script>
     
    <mx:XMLListCollection id="xmlListColl" />
    <mx:HTTPService id="srv" url="data/contenu3.xml" resultFormat="e4x"
        fault="srv_fault(event)" result="srv_result(event)" />
    <mx:HBox>
        <mx:VBox>
            <mx:Repeater dataProvider="{xmlListColl}">
                <mx:FormItem data="{xmlListColl}" label="{'???'}"
                    width="100%">
                    <mx:TextArea id="respText" text="{'???'}"/>
                </mx:FormItem>
            </mx:Repeater>
        </mx:VBox>
    </mx:HBox>
     
    </mx:Application>
    Je n'ai pas trouvé quoi mettre dans label et texte.
    Merci.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Tech Lead
    Inscrit en
    Novembre 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Tech Lead
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Novembre 2006
    Messages : 120
    Par défaut
    Hello,

    Essaye de mettre : {data.nom_du_champs}

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 29
    Par défaut
    Bonjour,

    je n'ai pas réussi avec data.nom du champ. Par contre ceci fonctionne :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
        creationComplete="init()">
     
    <mx:Script>
        <![CDATA[
            import mx.rpc.http.HTTPService;
            import mx.rpc.events.ResultEvent;
            import mx.rpc.events.FaultEvent;
            import mx.controls.Alert;
            private function init():void
            {
                srv.send();
            }
            private function srv_fault(evt:FaultEvent):void
            {
                var title:String = evt.type + " (" + evt.fault.faultCode + ")";
                var text:String = evt.fault.faultString;
                Alert.show(text, title);
                xmlListColl.removeAll();
            }
            private function srv_result(evt:ResultEvent):void
            {
                var xmlList:XMLList = XML(evt.result).accueil.identification.donnee;
                Alert.show(xmlList.terme);
                xmlListColl = new XMLListCollection(xmlList);
            }
        ]]>
    </mx:Script>
     
    <mx:XMLListCollection id="xmlListColl" />
    <mx:HTTPService id="srv" url="data/contenu3.xml" resultFormat="e4x"
        fault="srv_fault(event)" result="srv_result(event)" />
    <mx:HBox>
        <mx:VBox>
            <mx:Repeater id ="rp" dataProvider="{xmlListColl}">
                <mx:FormItem data="{xmlListColl}" 
                    label="{rp.currentItem.terme.toString()}"
                    width="100%">
                    <mx:TextArea id="respText" 
                        text="{rp.currentItem.definition.toString()}"/>
                </mx:FormItem>
            </mx:Repeater>
        </mx:VBox>
    </mx:HBox>
     
    </mx:Application>
    Merci pour ton aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recharger fichiers xml par httpservice
    Par cocacola0589 dans le forum Flex
    Réponses: 12
    Dernier message: 18/05/2009, 17h59
  2. [MAVEN2] utilisation build.xml par maven
    Par DanielW33 dans le forum Maven
    Réponses: 1
    Dernier message: 21/12/2006, 08h34
  3. [JAXP 1.2] Valider XML par schéma externe avec SAX (voire DOM)
    Par g_rare dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 17/07/2006, 19h48
  4. [DOM] récupération de XML par PHP
    Par shingara dans le forum Bibliothèques et frameworks
    Réponses: 9
    Dernier message: 13/02/2006, 20h56
  5. Réponses: 3
    Dernier message: 27/01/2004, 16h15

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