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

VB.NET Discussion :

lire les données xml


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut lire les données xml
    Bonjour

    voici la structure xml du fichier que je souhaite lire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <table>
    <record num="1">
    <nom_eleve>BENZAID</nom_eleve>
    <prenom_eleve>Mehdi</prenom_eleve>
    </record>
    <record num="2">
    <nom_eleve>COLLIGNON</nom_eleve>
    <prenom_eleve>Bryan</prenom_eleve>
    </record>
    </table>
    Je me suis un peut inspiré du tuto mais il y a un stress . Quelqu'un peut m'aider
    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
      Dim XmlDoc As XmlDocument = New XmlDocument()
                XmlDoc.Load(TxtFichierXml.Text)
                Dim element As XmlNodeList
     
                element = XmlDoc.DocumentElement.GetElementsByTagName("record")
                Dim noeud, noeudEnf As XmlNode
     
     
                For Each noeud In element
                      For Each noeudEnf In noeud.ChildNodes
                            If noeudEnf.LocalName = "Nom_Eleve" Then
                                  Nom = noeudEnf.InnerText
                            Else
                                  If (noeudEnf.LocalName = "Prenom_Eleve") Then
                                        Prenom = noeudEnf.InnerText
                                  End If
                            End If
                            MsgBox(Nom & " à " & Prenom)
                      Next
                Next

  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 : 43
    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
    Par défaut
    Citation Envoyé par thierry007 Voir le message
    Je me suis un peut inspiré du tuto
    Quel tuto ? y en a plein...

    Citation Envoyé par thierry007 Voir le message
    mais il y a un stress
    Mais encore ? on ne peut pas deviner ce qui te pose problème exactement...

    Citation Envoyé par thierry007 Voir le message
    Quelqu'un peut m'aider
    Peut-être si tu donnes plus de détails sur ton problème, mais pour l'instant non

  3. #3
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    Bonsoir,

    Le tuto, c'est celui qui se trouve sur le site http://selkis.developpez.com/tutoriels/dotnet/Xmlpart1/

    le stress bein , il ne m'affiche pas les données du fichier xml

  4. #4
    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 : 43
    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
    Par défaut
    C'est parce que les noms des éléments que tu utilises dans le code ne sont pas les mêmes que dans le fichier XML. XML est sensible à la casse, donc si tu cherches "Nom_Eleve" alors que l'élément s'appelle "nom_eleve", tu ne vas pas le trouver...

    Soit dit en passant, la technique que tu utilises est loin d'être la plus simple...

    Tu pourrais utiliser la sérialisation XML, ou alors Linq to XML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      Dim doc = XDocument.Load(TxtFichierXml.Text)
      Dim eleves =
          From rec in doc.Root.<record>
          Select New With { .Nom = rec.<nom_eleve>.Value, .Prenom = rec.<prenom_eleve>.Value }
      For Each e In eleves
        MsgBox(e.Nom & " à " & e.Prenom)
      Next

  5. #5
    Membre éprouvé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Par défaut
    Bonjour et Merci Tomleve pour ton suivit
    Voici ce que j'était arrivé a faire, qui fonctionne
    Il est vrais que ta methode est plus "lisible"

    Merci encore

    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
     
    'Dim Nom, Prenom As String
                Dim XmlDoc As XmlDocument = New XmlDocument()
                Dim element As XmlNodeList
                Dim noeud As XmlNode
     
                XmlDoc.Load(TxtFichierXml.Text)
                element = XmlDoc.DocumentElement.GetElementsByTagName("record")
     
                For Each noeud In element
     
                      Nom = noeud.ChildNodes.ItemOf(0).InnerText
                      Prenom = noeud.ChildNodes.ItemOf(1).InnerText
     
                Next

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

Discussions similaires

  1. Problème pour lire les donnée d'une table externe
    Par mardoch dans le forum SQL*Loader
    Réponses: 6
    Dernier message: 17/07/2008, 16h41
  2. [XML] Lire les données
    Par pc75 dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 24/11/2006, 08h50
  3. [VB+Lotus Notes] Lire les données d'une DB Lotus
    Par kenn dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 25/08/2005, 15h21
  4. [CR] lire les données de gauche a droite
    Par speed034 dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 14/10/2004, 18h23
  5. XSL ne parvient pas à lire les noeuds XML ??
    Par yahn dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 27/06/2004, 19h29

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