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 :

HTTPService: requête sur un champ


Sujet :

Flex

  1. #1
    Rédacteur
    Avatar de longbeach
    Profil pro
    Architecte de système d’information
    Inscrit en
    Avril 2003
    Messages
    943
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Avril 2003
    Messages : 943
    Par défaut HTTPService: requête sur un champ
    Bonjour,
    j'ai un fichier XML du style :
    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
     
    <?xml version="1.0" encoding="utf-8"?>
    <villes>
     
    	<ville>
    		<nom>Paris</nom>
    		<region>Ile-de-France </region>
    		<departement>Paris</departement>
    		<codePostal>75001</codePostal>
     
    	</ville>
     
    	<ville>
    		<nom>Bordeaux</nom>
    		<region>Aquitaine</region>
    		<departement>Gironde</departement>
    		<codePostal>33000</codePostal>
     
    	</ville>
     
    </villes>
    J'ai une carte de france, quand l'utilisateur clique sur Bordeaux, je veux afficher la region, donc Aquitaine, dans un panel.

    Comment je peux requêter ce fichier XML sur un champ (tag) ?
    En SQL, ça pourrait donner :
    Select region from ville where nom="Bordeaux" ==> Aquitaine

    Dans mon code j'ai déjà ces lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ...
    <mx:HTTPService id="service" url="data/villes.xml" />
    ...
    <mx:DataGrid id="grid" dataProvider="{service.lastResult.villes.ville}" />
    ...
    Je précise que l'evenement qui doit afficher la region n'est pas déclenché depuis la Datagrid.

    Merci pour votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 121
    Par défaut
    Bonjour
    Je précise que l'evenement qui doit afficher la region n'est pas déclenché depuis la Datagrid.
    Si c'est possible tu peux déclencher l'évenment sur le data grid et utiliser id_datagrid.selectedItem, pour sélectionner la ligne cliquée.

  3. #3
    Rédacteur
    Avatar de longbeach
    Profil pro
    Architecte de système d’information
    Inscrit en
    Avril 2003
    Messages
    943
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Avril 2003
    Messages : 943
    Par défaut
    Citation Envoyé par gasper06 Voir le message
    BonjourSi c'est possible tu peux déclencher l'évenment sur le data grid et utiliser id_datagrid.selectedItem, pour sélectionner la ligne cliquée.
    lol
    j'ai précisé justement que ce n'est pas ce que je veux faire.

    Quelqu'un a une idée ? Merci.

  4. #4
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    si j'ai bien compris tu souhaites récupérer depuis ton XML Aquitaine en recherchant avec l'index bordeaux, n'est ce pas?
    la réponse se trouve dans l'E4X.

    de mémoire, tu peut chercher des noeuds avec des valeurs d'attributs du genre (syntaxe vraiment a vérifier, ca frole l'arrache )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ville.(@region == bordeaux)
    enfin bref, tout ca pour te mettre sur la piste de l'E4X qui avec sa puissance devrait te permettre de trouver une solution.

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Par défaut
    Tu dois pouvoir utiliser un truc du genre :

    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
    var x : XML =
    <villes>
    	<ville>
    		<nom>Paris</nom>
    		<region>Ile-de-France </region>
    		<departement>Paris</departement>
    		<codePostal>75001</codePostal>
    	</ville>
    	<ville>
    		<nom>Bordeaux</nom>
    		<region>Aquitaine</region>
    		<departement>Gironde</departement>
    		<codePostal>33000</codePostal>
     
    	</ville>
    </villes>
     
    var r : String = x.ville.(nom == "Bordeaux").region ;

    A noter que ceci est un extrait de la doc de Flex, trouvé en 10 secondes...

  6. #6
    Rédacteur
    Avatar de longbeach
    Profil pro
    Architecte de système d’information
    Inscrit en
    Avril 2003
    Messages
    943
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Avril 2003
    Messages : 943
    Par défaut
    j'ai fait ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <mx:HTTPService id="serviceE4X" url="data/villes.xml" showBusyCursor="true" resultFormat="e4x" />
    <mx:Script>
    		<![CDATA[
    		public function recupererRegion(city:String):String {
     
    			var Villes:XMLList = XML(serviceE4X.lastResult).villes.ville;
    			var laregion : String = Villes.ville.(nom == "Bordeaux").region ;
         		return laregion;
    		}
     
    		]]>
    	</mx:Script>
    Je passe Bordeaux en dur dans la fonction pour être sûr que c'est pas un problème de paramètre. Après je changerai Bordeaux en city évidemment.

    Cette fonction ne me renvoit rien.
    Et c'est une application que je fait pas tourner sur un serveur, donc pas de mode debug pour voir ce que la liste Villes retourne ...

    Comment je peux faire ?
    Merci encore.

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Par défaut
    je pense que c'est plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var villes:XML = XML(serviceE4X.lastResult);
    var laregion : String = villes.ville.(nom == "Bordeaux").region ;

  8. #8
    Rédacteur
    Avatar de longbeach
    Profil pro
    Architecte de système d’information
    Inscrit en
    Avril 2003
    Messages
    943
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Avril 2003
    Messages : 943
    Par défaut
    Merci jylaxx, ça marche

  9. #9
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    Longbeach, n'oublie pas le tag résolu

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

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

Discussions similaires

  1. Requête sur plusieurs champs avec LIKE
    Par zestrellita dans le forum Langage SQL
    Réponses: 4
    Dernier message: 23/04/2007, 14h58
  2. Requête sur plusieurs champs
    Par pierrot67 dans le forum Bases de données
    Réponses: 3
    Dernier message: 26/02/2007, 16h33
  3. Requête sur plusieurs champs
    Par pierrot67 dans le forum Bases de données
    Réponses: 6
    Dernier message: 21/02/2007, 10h51
  4. requête sur le champ date
    Par bouba_95 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 10/01/2007, 15h10
  5. requêtes sur des champs date
    Par wiwi dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 03/02/2006, 14h14

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