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 :

lire XML complexe


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 19
    Par défaut lire XML complexe
    Bonjour
    Pour les besoins du developpement d'une application, je suis obligé de passer par le XML

    J'arrive à remplir un datagridview avec le code suivant( pris dans la FAQ C#)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     XmlDataDocument xmlDatadoc = new XmlDataDocument();
     
                xmlDatadoc.DataSet.ReadXml("C:\\Course.xml");
     
                DataSet ds = new DataSet("TrackPoints");
     
                ds = xmlDatadoc.DataSet;
     
                dataGridView1.DataSource = ds.DefaultViewManager;
     
                dataGridView1.DataMember = "Trackpoint";
    Mon problème est que les différents données apparaissent sauf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <Position>
                  <LatitudeDegrees>44.7664263</LatitudeDegrees>
                  <LongitudeDegrees>-0.6082202</LongitudeDegrees>
                </Position>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <Trackpoint>
                <Time>2009-12-06T10:41:47Z</Time>
                <Position>
                  <LatitudeDegrees>44.7664263</LatitudeDegrees>
                  <LongitudeDegrees>-0.6082202</LongitudeDegrees>
                </Position>
                <AltitudeMeters>20.8056641</AltitudeMeters>
                <DistanceMeters>0.0000000</DistanceMeters>
                <SensorState>Absent</SensorState>
                <Extensions>
                  <TPX xmlns="http://www.garmin.com/xmlschemas/ActivityExtension/v2" CadenceSensor="Footpod"/>
                </Extensions>
              </Trackpoint>
    L'idéal serait de pouvoir ajouter à mon datagridview une colonne pour LatitudeDegrees et une autre colonne pour LongitudeDegrees
    Faut il passer par une class définissant mes données ?
    Merci pour votre aide

    Laurent Girardeau

  2. #2
    Membre très actif
    Profil pro
    Expert technique .NET
    Inscrit en
    Août 2007
    Messages
    272
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Expert technique .NET

    Informations forums :
    Inscription : Août 2007
    Messages : 272
    Par défaut
    Salut,

    Tu ne retrouveras pas les sous-niveaux de l'XML ainsi.

    Première solution : tes balises ont été rapatriées dans une autre DataTable de ton Dataset. Pour accéder (en gros, voilà l'idée) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    DataSet ds = new DataSet("TrackPoints");
    ds = xmlDatadoc.DataSet;
     
    // Ajoute les colonnes à ta table de départ
    ds.Tables["TrackPoints"].Columns.AddRange(new DataColumn[] { ds.Tables["Position"].Columns["LatitudeDegrees"], ds.Tables["Position"].Columns["LongitudeDegrees"] });
     
    for (int i = 0; i < ds.Tables["TrackPoints"].Rows.Count; i++)
    {
        ds.Tables["TrackPoints"].Rows[i]["LatitudeDegrees"] = ds.Tables["Position"].Rows[i]["LatitudeDegrees"];
        ds.Tables["TrackPoints"].Rows[i]["LongitudeDegrees"] = ds.Tables["Position"].Rows[i]["LongitudeDegrees"];
    }
    Seconde solution : tu fais effectivement une classe, que tu peux remplir facilement grâce à la deserialisation.

    Bonne chance

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 19
    Par défaut
    merci pour ton aide. tu m'as aidé à régler mon problème

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

Discussions similaires

  1. Envoyez donnez et lire XML serveur distant
    Par zulot dans le forum Langage
    Réponses: 6
    Dernier message: 23/05/2007, 19h42
  2. [Oracle 10gR2] - Schema XML & Complex DATATYPE
    Par jacquesh dans le forum Administration
    Réponses: 1
    Dernier message: 14/05/2007, 10h10
  3. [ASP.NET] lire xml: méthode plus rapide?
    Par cortex024 dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 06/02/2007, 16h08
  4. [XSLT] Comment afficher un tableau à partir d'un xml complexe ?
    Par druidev dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 14/11/2006, 17h27
  5. Lire XML avec ASP
    Par Tops dans le forum ASP
    Réponses: 4
    Dernier message: 04/04/2005, 15h40

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