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 :

Charger / afficher un fichier xml dans datagridview


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Homme Profil pro
    Automatique
    Inscrit en
    Octobre 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Automatique

    Informations forums :
    Inscription : Octobre 2018
    Messages : 17
    Points : 15
    Points
    15
    Par défaut Charger / afficher un fichier xml dans datagridview
    Bonjour,
    Je souhaite votre aide sur un petit sujet. En effet, j'aimerais afficher un fichier xml dans un datagridview form en utilisant vb.net
    Pour l'instant, j'arrive à afficher le premier node (seulement voiture name, version et serial number du fichier xml) quand j'utilise "table[0]" je peux aussi afficher les node d'après par ex table[1] mais jamais les deux en même temps dans le meme datagridview.
    Mon souhait c'est de tout d'afficher dans un seule datagridview
    J'aimerais aussi dans second temps trouver un moyen de comment pouvoir créer ex un sous-groupe par ex pouvoir parcourir dans le node principal pour pouvoir afficher tout ce qui est lié au premier node en dessous.
    Ex du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      Dim openFileDialog As OpenFileDialog = New OpenFileDialog()
            If openFileDialog.ShowDialog() = DialogResult.OK Then
                Dim xmlFilePath As String = openFileDialog.FileName
                Using ds As DataSet = New DataSet()
                    ds.ReadXml(xmlFilePath)
                    DataGridView1.DataSource = ds.Tables(0)
                End Using
            End If

    Ex du fichier xml

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <voitures>
    	<voiture name="renault" Version="A" SerialNumber="125xxxxxxxx">
    		<P_Sts km="123444" />
    		<P_Sts boite_vitess="manuelle" />
    		<P_Sts jante="allu" />
    		<P_Sts options="toutes" />
    		<P_Sts entretien="fait" />
    		<carburant type="GPL" MODE="comptant"  />
    		<carburant type="GO" MODE="chèque"  />
    		<carburant type="SP95" MODE="crédit" />
    		<carburant type="SP98" MODE="virement"  />
    	</voiture>
    <voitures>

    Merci de votre support.

  2. #2
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 419
    Points : 2 178
    Points
    2 178
    Par défaut
    Bonjour,
    Appartement dans cette discussion le problème est sur la sauvegarde du datagrid en XML.

    Mais comme le code propose également le changement dans le datagrid...

    Espèrons que la question de sauvegarde est résolu ça pourra t'aider à l'avenir ???

  3. #3
    Membre à l'essai
    Homme Profil pro
    Automatique
    Inscrit en
    Octobre 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Automatique

    Informations forums :
    Inscription : Octobre 2018
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    Bonjour,
    Je suis désolé si je n'étais pas clair..
    Le problème c'est plutot l''import et l'affichage de tout l xml dans le datagrid.
    Pour l'instant il n'est pas question de faire le chemin inverse c'est à dire enregistrer depuis DGV vers xml.
    Cdt,

  4. #4
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 419
    Points : 2 178
    Points
    2 178
    Par défaut
    Désolé je n'es pas été clair, je t'es dit que dans le lien il y avait l'import et l'export et que seule l'export posait problème !

    Donc par déduction tu peut conclure que l'import fonctionne et de toute évidence c'est ce qu tu cherches à faire ? Non?

  5. #5
    Membre à l'essai
    Homme Profil pro
    Automatique
    Inscrit en
    Octobre 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Automatique

    Informations forums :
    Inscription : Octobre 2018
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    Au temps pour moi
    Oui l'import en fait fonctionne seulement j'arrive à importer seulement le prmeier node qui correspond a table(0) et si je change en table (1) ça supprimer donc la table(0) et ça m'affiche le node d'après mais pas le bon agencement dans le dgv.
    Mon souhaite de pouvoir tout afficher dans le dgv et faire dans l'ideal un sous group pour chaque voiture...
    Cdt

  6. #6
    Membre chevronné Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 419
    Points : 2 178
    Points
    2 178
    Par défaut
    Donc ça ne fonctionne pas puisque ça t'affiche un datarow et non un datatable !

    Je regarde dès que j'ai accès à mon ordinateur !

  7. #7
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 665
    Points : 5 232
    Points
    5 232
    Par défaut
    Citation Envoyé par Thumb down Voir le message
    Donc ça ne fonctionne pas puisque ça t'affiche un datarow et non un datatable !
    Pas du tout, ce n'est pas une question d'affichage de DataRow à la place d'un DataTable
    Ce code va bien afficher le contenu complet de la première DataTable (voiture).
    En rajoutant une autre voiture construite sur le même principe, tu en auras bien deux qui s'affichent.

    Le problème est que tu utilises DataSet comme s'il s'agissait d'un objet complexe.
    Un DataSet contient des données tabulaires comme dans une base de données
    C'est à dire un liste d'enregistrements où chaque ligne est un enregistrement, et où chaque colonne nommée est une donnée de cette enregistrement

    Or dans le nœud <voiture> tu as plusieurs nœuds <P_Sts> et plusieurs nœuds <carburant>
    Donc le DataSet ne vas pas contenir 1 DataTable mais 3 (voiture, P_Sts et carburant).
    Donc ds.Tables(0) va afficher le contenu de la table voiture et ds.Table(1) va afficher celui de la table P_Sts.

    De même, le DataGridView sert aussi à afficher des données tabulaires.
    Donc tu ne pourra pas afficher la voiture et son détail de cette manière.

    Edit :
    Deux solutions :
    Soit tu considères que tout ce tu mets dans les nœuds P_Sts et carburant sont des colonnes propres à la table voiture et il faut les renommer en km, boite_vitesse, ...GPL, GO, ...;
    Soit tu considère qu'il y a bien trois tables et tu peux considérer faire des grilles de type maitre-détail comme dans cet exemple : https://docs.microsoft.com/en-us/dot...orkdesktop-4.8

Discussions similaires

  1. afficher un fichier xml dans une page jsp
    Par Sun03 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 05/08/2009, 17h50
  2. Afficher un fichier XML dans un WebBrowser
    Par kronos85 dans le forum VB.NET
    Réponses: 2
    Dernier message: 28/11/2008, 13h43
  3. [XSL] Afficher un fichier xml dans un fichier php
    Par Sylvain245 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 22/12/2006, 12h21
  4. Réponses: 2
    Dernier message: 28/09/2006, 09h48
  5. Réponses: 9
    Dernier message: 27/06/2006, 21h48

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