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

Windows Forms Discussion :

[C#-XML] Récupérer les valeurs des noeuds enfants


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 58
    Points : 34
    Points
    34
    Par défaut [C#-XML] Récupérer les valeurs des noeuds enfants
    Bonjour, j'ai un fichier XML dont la structure est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <rootElement>
      <message numero="1" entete="bienvenue">
        <ligne>bienvenue sur mon appli</ligne>
        <ligne>auteur : cyllix</ligne>
      </message>
      <message numero="2" entete="test">
        <ligne>Message de test</ligne>
      </message>
    </rootElement>
    Pour récupérer les attributs d'un message j'utilise le code suivant : (je passe volontairement le code d'ouverture de fichier et de tests)
    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
     
    //Ouverture du fichier xml et tests
    //Mettre ici le code d'ouverture du fichier xml
     
    XmlNodeList elements = documentXml.DocumentElement.SelectNodes("//message");
     
    foreach (XmlNode noeud in elements)
    {
      if (noeud.NodeType.Equals(XmlNodeType.Element))
      {
        XmlElement message = (XmlElement)noeud;
     
        //affichage
        MessageBox.Show("n°: " + message.GetAttribute("numero") + "\nentete: " 
        + message.GetAttribute("entete");
      }
    }
    Par contre je ne trouve pas comment récupérer les valeurs contenues entre les balises <ligne></ligne>. Quelqu'un saurait-il comment faire svp?

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 58
    Points : 34
    Points
    34
    Par défaut
    Finalement c'est bon j'ai trouvé tout seul
    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
     
    foreach (XmlNode noeud in elements)
    {
      if (noeud.NodeType.Equals(XmlNodeType.Element))
      {
        XmlElement message = (XmlElement)noeud;
        string ligne = "";
     
        foreach (XmlElement noeudEnfant in message.ChildNodes)
        {
          if (noeudEnfant.Name.Equals("ligne"))
          {
            ligne = noeudEnfant.InnerXml;
          }
        }
     
        //affichage
      }
    }

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

Discussions similaires

  1. Extraire les valeurs des noeuds xml en java
    Par Mohcine.nb dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 28/04/2014, 14h27
  2. Trouver une expression régulière pour les valeurs des noeuds XML
    Par Motin dans le forum Format d'échange (XML, JSON...)
    Réponses: 11
    Dernier message: 05/10/2011, 17h51
  3. Récupérer les valeurs des attributs dans un fichier XML ?
    Par chinoismasque dans le forum Windows Phone
    Réponses: 3
    Dernier message: 01/08/2011, 10h15
  4. [PHP-JS] Récupérer les valeurs des checkbox
    Par jamirokoi dans le forum Langage
    Réponses: 3
    Dernier message: 07/04/2006, 16h24
  5. Réponses: 4
    Dernier message: 05/01/2006, 20h29

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