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

C# Discussion :

XML Linq - Element facultatif [Débutant]


Sujet :

C#

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 20
    Points : 23
    Points
    23
    Par défaut XML Linq - Element facultatif
    Bonjour,

    Je récupère les données d'un fichier XML de la façon suivante :

    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
     var settings = from setting in XmlDoc.Root.Elements("Setting")
                               where (int)setting.Attribute("ID") == ID
                               select new
                               {
                                   FLD1A = (string)setting.Attribute("FLD1A"),
                                   FLD1B = (string)setting.Attribute("FLD1B"),
                                   T1 = from T1A in setting.Element("T1").Elements("T1A")
                                               select new
                                               {
                                                   FLD2A = (string)T1A.Attribute("FLD2A"),
                                                   FLD2B = (string)T1A.Attribute("FLD2B"),
     
                                                   V1 = from V1A in T1A.Element("V1").Elements("V1A")
                                                                   select new
                                                                   {
                                                                       FLD3A = (string)V1A.Attribute("FLD3A"),
                                                                       FLD3B = (string)V1A.Attribute("FLD3B")
                                                                   }
                                               }
     
                               };
    Cela fonctionne bien, mais j'ai un problème lorsque l'élément V1 n'est pas présent dans le fichier et je n'arrive pas à trouver un moyen de rendre cette partie de la requête "facultative".
    Pouvez-vous s'il vous plaît m'aider?

    D'avance merci.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Remplace T1A.Element("V1") par T1A.Elements("V1"). Ca mettra une séquence vide dans V1 si l'élément V1 n'existe pas

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 20
    Points : 23
    Points
    23
    Par défaut
    Tout simplement. Cela fonctionne très bien.
    Merci Tomlev.

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

Discussions similaires

  1. Relation ternaire avec un element facultatif
    Par reda17 dans le forum Diagrammes de Classes
    Réponses: 3
    Dernier message: 05/05/2009, 08h33
  2. Réponses: 2
    Dernier message: 06/08/2008, 09h24
  3. Xml, Linq et Remove()
    Par steftanguy dans le forum Linq
    Réponses: 4
    Dernier message: 13/06/2008, 11h33
  4. [XML] Recuperer elements d'un paragraphe
    Par kapfab dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 14/03/2007, 14h26
  5. [XML]Liste élément XML
    Par SteelBox dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 15/06/2006, 00h11

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