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 :

[VB.NET] Comment exploiter les données extraites d'un XML dans un tableau ou DataSet?


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de tssi555
    Analyse système
    Inscrit en
    Juillet 2008
    Messages
    594
    Détails du profil
    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juillet 2008
    Messages : 594
    Par défaut [VB.NET] Comment exploiter les données extraites d'un XML dans un tableau ou DataSet?
    Bonjour,


    Comme le titre l'indique, comment pourrais-je faire pour exploiter les données extraites d'un fichier XML pour les stocké dans un tableau ou DataSet?


    Quelqu'un a une idée?


    Merci

  2. #2
    Rédacteur
    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Billets dans le blog
    121
    Par défaut
    je suppose que tu charge tes données XML dans un XMLDocument. a l'aide d'une instruction Xpath tu récupère les nœuds dans un XMLNodeList ensuite tu boucle sur le XMLNodeList, tu récupère les données et tu charge dans ton tableau ou DataSet.

    @++
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  3. #3
    Membre éclairé Avatar de tssi555
    Analyse système
    Inscrit en
    Juillet 2008
    Messages
    594
    Détails du profil
    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juillet 2008
    Messages : 594
    Par défaut
    Je récupère mes valeurs ( des noeuds ) avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
           Dim xpathDoc As XPathDocument
            Dim xNavigator As XPathNavigator
            Dim xNodeIterator As XPathNodeIterator
            xpathDoc = New XPathDocument("c:\Test_1.xml")
            xNavigator = xpathDoc.CreateNavigator()
            xNodeIterator = xNavigator.Select(".//*")
            While (xNodeIterator.MoveNext())
                MessageBox.Show(xNodeIterator.Current.Name + " : " + xNodeIterator.Current.Value)
            End While
    Premièrement, c'est que je n'arrive pas à tout parcourir les noeuds, ya des noeuds vers la fin du fichier XML je n'ai plus de messages box, on dirait la fin du fichier même si c pas le cas ( normalement en Xpath .//* me donnera tout les noeud sans distinction non ? )

    Deuxièment, pour récupèrer ça dans un tableau? je dois récupérer les valeurs dans une variable puis un tableau ? je ne vois pas bien


    Merci

  4. #4
    Rédacteur

    Avatar de Jean-Michel Ormes
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    1 838
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 838
    Par défaut
    Bonsoir, je dis peut-être une bêtise mais pourquoi ne pas essayer de récupérer les valeurs avec une requête linq ?

  5. #5
    Membre éclairé Avatar de tssi555
    Analyse système
    Inscrit en
    Juillet 2008
    Messages
    594
    Détails du profil
    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juillet 2008
    Messages : 594
    Par défaut
    Salut Jean-Michel Ormes,

    Merci, oui pourquoi pas! tu peux m'eguiller plus?

  6. #6
    Rédacteur

    Avatar de Jean-Michel Ormes
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    1 838
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 838
    Par défaut
    Salut,

    Une requête linq fonctionne comme une requête SQL. Au vu de ton code, je dirais que tu peux essayer ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    var requete = from s in xpathDoc.Descendants("test") // Exemple de requête 
                          select s;
    Ensuite, tu peux réutiliser la variable requête dans un foreach pour remplir ton tableau en fonction de tes noeuds.

    PS : Il faut que tu rajoute des références à ton code (System; System.Linq; System.Xml.Linq

Discussions similaires

  1. Comment extraire les données d'un fichier txt dans un tableau excel
    Par mirage23 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/11/2012, 09h16
  2. Réponses: 2
    Dernier message: 22/02/2009, 13h02
  3. Réponses: 9
    Dernier message: 21/02/2007, 10h09
  4. Réponses: 3
    Dernier message: 31/01/2007, 17h46
  5. [cr 8.5] comment exploiter les données d'un "array"
    Par kikidrome dans le forum SAP Crystal Reports
    Réponses: 12
    Dernier message: 09/06/2005, 14h03

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