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 :

[C#] Comment lire et rechercher dans fichier XML ?


Sujet :

C#

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2003
    Messages : 315
    Points : 105
    Points
    105
    Par défaut [C#] Comment lire et rechercher dans fichier XML ?
    Bonjour, je debute en C# et xml...j'essaie deseperement de trouver un moyen de lire mon fichier xml et d'acceder a la bonne donnee. Ex: voici mon fichier XML:
    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
     
    <fournisseurs> 
        <enregistrement name="fournisseur1">
           <nom>nom1</nom>
           <anneeExp>21</anneeExp>
        </enregistrement>
        <enregistrement name="fournisseur2">
           <nom>nom2</nom>
           <anneeExp>12</anneeExp>
        </enregistrement>
        <enregistrement name="fournisseur3">
           <nom>nom3</nom>
           <anneeExp>13</anneeExp>
        </enregistrement>
    </fournisseurs>
    j'aimerais pouvoir acceder au fournisseur2 et acceder au nom et a l'annee. et je n'ai aucune idee de comment faire je ne sais pas quoi utiliser entre XmlDocument, dataSet, xmlReader...
    pouvez vous m'aider?

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    essayes ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Dim doc As New XmlDocument()
    Dim reader As New XmlTextReader("CheminFichierXml")
    Dim node As XmlNode
    While reader.Read()
      If reader.Name.Equals("enregistrement") Then
        node = doc.ReadNode(reader)
        If node.Attributes("name").Value.Equals("fournisseur2") Then
          Me.Label1.Text &= node.InnerXml
          Exit While
        End If
      End If
    End While

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2003
    Messages : 315
    Points : 105
    Points
    105
    Par défaut
    Merci pour le code ca me fait avancer enormement...j'ai juste eu a le changer en c#

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2003
    Messages : 315
    Points : 105
    Points
    105
    Par défaut
    Bon je n'arrive toujours pas à acceder aux données je veux dire si je veux juste le nom comment çà marche... je suis en C# et voila ce que g fait
    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
     
    XmlDocument doc= new XmlDocument(); 
    XmlTextReader reader =new XmlTextReader("config.xml");
    XmlNode node = null; 
    reader.WhitespaceHandling = WhitespaceHandling.None;
    while (reader.Read())
    {
        if (reader.Name.Equals("Record_def")) 
       {
        doc.PreserveWhitespace = false;
        node = doc.ReadNode(reader) ;
        MessageBox.Show(node.Attributes.GetNamedItem("name").Value );
        if (node.Attributes.GetNamedItem("name").Value == fournisseurs.Text)
        {
               //je voudrais afficher le nom???
        }
       } 
     
    }
    comment?

  5. #5
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Heu en fait il semble que c'est un fichier config que tu as : tu sais qu'il y a une façon plus directe de traiter ces fichiers

    1. ou c'est un fichier uniquement accessible en lecture par l'appli et dans ce cas appelle-le App.config (c'est toujours du xml bien sûr ) et utilises directement l'Espace de noms System.Configuration

    2.ou c'est un fichier accessible en lecture/ecriture et dans ce cas tu as des classes toutes faites sur ce site
    http://morpheus.developpez.com/trucs/classes/

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

Discussions similaires

  1. [JSON] Lire structure JSON dans fichier XML
    Par Mister Nono dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 01/04/2013, 13h04
  2. [XML/Glib/GTK+] Comment lire et écrire dans un fichier XML
    Par Skarsnick dans le forum GTK+ avec C & C++
    Réponses: 5
    Dernier message: 19/08/2009, 09h20
  3. recherche dans fichier xml
    Par hichamland dans le forum Langage
    Réponses: 6
    Dernier message: 02/05/2009, 15h58
  4. Recherche dans fichier xml
    Par sandytarit dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 19/03/2007, 10h28
  5. recherche dans fichier xml
    Par piro dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/03/2006, 08h11

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