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# et XML [Débutant]


Sujet :

C#

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2016
    Messages : 4
    Points : 4
    Points
    4
    Par défaut C# et XML
    Bonjour à vous
    j'ai commencé à apprendre à programmer, il y a 3 jours déjà. Donc vous avez compris que je suis un expert
    Sérieusement, j'essaie de comprendre comment enregistrer les données entrées dans un fichier xml. J'ai réussis la première partie, mais le problème est que quand j'essaie de rentrer une nouvelle donnée, le programme efface les données précédentes. Je vous ai joint mon projet qui est seulement un tuto pour comprendre un peu mieux.
    Merci d'avance pour votre aide précieuse, et merci d'expliquer simplement, si c'est possible
    Fichiers attachés Fichiers attachés

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2010
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 38
    Points : 79
    Points
    79
    Par défaut
    Je ne suis pas forcement un expert C# non plus mais je pense que le but de WriteXml est d'exporter la totalité du DataSet dans un fichier XML. Il n'a pas de mode permettant l'ajout.

    Je pense que le mieux serait de passer par un XmlDocument plutôt qu'un DataSet.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 132
    Points : 59
    Points
    59
    Par défaut
    Bonjour,

    Essaie à chaque fois de changer le nom de fichier ou tu écris (genre : nom fichier + date + heure) pour pouvoir à chaque fois écrire ta configuration.

    bc,

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2010
    Messages : 72
    Points : 70
    Points
    70
    Par défaut
    Bonjour,

    Le code en PJ est bien celui que tu utilises?
    Il y a des soucis dans le foreach qui provoque déjà une erreur...
    • Ta DataGridView laisse l'ajout de ligne directement possible (via la propriété AllowUserToAddRows). Concrètement, ça ajoute une ligne vide... qui génère une erreur lors du parcours dans ta boucle.
      Deux options : mettre cette valeur à False (puisque tu as un formulaire, ce serait logique). Ou ne pas traiter cette ligne dans ton code (ajouter if (r.IsNewRow) continue;)
    • En plus tu enregistre toujours la même cellule ;-).

    Ca devrait donner ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    foreach (DataGridViewRow r in dgvContenu.Rows)
                {
                    DataRow row1 = ds.Tables["JobDetails"].NewRow();
                    if (r.IsNewRow) continue;
                    row1["JobNumber"] = r.Cells[0].Value.ToString();
                    row1["Detail1"] = r.Cells[1].Value.ToString();
                    row1["Detail2"] = r.Cells[2].Value.ToString();
                    ds.Tables["JobDetails"].Rows.Add(row1);
                }
    Ce qui ne réponds pas du tout à ta question, je sais
    Mais je ne la comprends pas.
    Là,
    - on ajoute x lignes dans la gille via le bouton Ajouter
    - On Sauvegarde = ça enregistre bien tout dans Data.xml (sans changement sur l'IHM)
    - on en ajoute d'autres
    - on enregistre... ça enregistre bien tout dans Data.xml
    Et c'est normal, WriteXml écrit toute la table. Ca écrase l'existant (d'ailleurs tu peux modifier, supprimer directement dans le DataGridView, ça marche aussi).
    Peux tu préciser ce que tu effaces ou ce que tu souhaitais?

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2016
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Merci énormément !
    Maintenant ça fonctionne parfaitement! Merci encore d'avoir prit le temps pour moi, c'est très apprécié.

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

Discussions similaires

  1. [ Tomcat ] [ débutant ] config web.xml
    Par TeTram dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 09/02/2009, 10h22
  2. [Choix] [Débutant] SOAP ou XML-RPC ?
    Par Noisette dans le forum XML/XSL et SOAP
    Réponses: 7
    Dernier message: 15/01/2009, 17h31
  3. [Débutant][Déploiement]web.xml manquant
    Par Janitrix dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 16/05/2006, 09h04
  4. [débutant] interet de XML
    Par unNew dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 09/09/2005, 09h48
  5. [débutant] faire du xml...
    Par Mathusalem dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 24/03/2005, 11h39

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