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

Linq Discussion :

Probleme requete linq to xml


Sujet :

Linq

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 16
    Par défaut Probleme requete linq to xml
    Bonjour

    J'essaie d'effectuer une requête linq pour récupérer tout les articles d'une marque ,mais ça plante malheureusement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    var article = (from ar in add_article_xml.Descendants("Modele")
                                 where  ar.Element("Libelle").Value == "week"
                                  select ar.Attribute("Code").Value);
    Voila la requête qui est surement fausse et pas du tout jolie.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <Modele Libelle="week">
    	<Article Code="paris" />
               <Article Code="londre" />
    </Modele>

    la variable "ar" récupère exactement ce qui je veux mais bon ça passe pas.


    Voila un extrais de mon xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?xml version="1.0"?>
    <Materiels>
      <Famille Societe="test" Langue="FRA" Libelle="voyage">
        <Marque Libelle="detente">
            <Modele Libelle="week">
    	 <Article Code="paris" />
                <Article Code="londre" />
            </Modele>
        </Marque>
      </Famille>
      //etc.....
    </Materiels>
    Merci de d'avance je dois avouer que je suis bien bloqué la

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 97
    Par défaut
    Deux erreurs :

    1/ add_article_xml.Descendants("Modele") te renvoie les nœuds "Modele", donc ar.Attribute("Code") cherche l'attribut Code sur un nœud Modele (alors qu'il se trouve sur les nœuds Article).

    2/ Pour récupérer un attribut, il faut utiliser Attribute, et non Element.

    Ce qui au final donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var result = from modele in add_article_xml.Descendants("Modele")
                             where (string)modele.Attribute("Libelle") == "week"
                             from article in modele.Descendants("Article")
                             select article.Attribute("Code");

  3. #3
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 16
    Par défaut
    Bien merci,

    J'avais déjà fait cette requête et ça affiché beaucoup plus de résultat qu'il ne fallait

    pour l'exemple déjà donnée une dizaine.

    et pourquoi 10 sachant que j'ai plus de 200 000 articles répertorié

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 97
    Par défaut
    Pour l'exemple que tu as donné, mon code ne renvoie que deux résultats.

  5. #5
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 16
    Par défaut
    Bon

    Le résultat de la requête j'ai bien ces articles qui corresponde à cet marque mais pas à la même famille aussitôt le truc affiné ça marche impeccable.

    En tout cas merci beaucoup grâce à toi j'ai la solution

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

Discussions similaires

  1. Probleme requete Linq to Entities
    Par azerto00 dans le forum Linq
    Réponses: 5
    Dernier message: 07/10/2010, 16h52
  2. aide pour une requete LINQ to XML
    Par flo1981 dans le forum Linq
    Réponses: 1
    Dernier message: 14/09/2009, 15h37
  3. Linq to xml - requete sur un attribut
    Par Gregory.M dans le forum Linq
    Réponses: 3
    Dernier message: 07/11/2008, 14h32
  4. Réponses: 3
    Dernier message: 05/11/2008, 10h24
  5. [Linq to Xml] Probleme de requete
    Par Gregory.M dans le forum Linq
    Réponses: 6
    Dernier message: 27/05/2008, 08h54

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