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 :

Ecriture dans un Dataset XML


Sujet :

C#

  1. #1
    Membre éclairé Avatar de Michel38
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2005
    Messages : 227
    Par défaut Ecriture dans un Dataset XML
    Salut à tous,
    Je suis un peu bloqué..
    J'ai une source de donnée qui est un fichier XML.
    J'alimente mon Dataset de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    StringReader sr = new StringReader(mFichXML);
    clientDataSet.ReadXml(sr);
    dataGridView1.DataSource = clientDataSet;
    dataGridView1.DataMember = "Client";
    Et comme on peut le voir je l'affiche avec un datagridview.
    Je ne souhaite pas pouvoir modifier mon fichier XML directement dans la grille.
    J'ai une form dans laquelle je modifie mes données.
    En validant cette écran, je voudrais mettre à jour le datagridview et bien sûr le fichier XML.
    Je n'arrive pas à faire le lien entre le datagridview et le fichier XML.....
    Quelqu'un peut me donner une idée ou une piste ?
    Merci d'avance.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 612
    Par défaut
    cela te permettras de generer un fichier XML a jour

    si tu a un gros fichier XML et qu'il serais trop lourd de le réécrire, pour modifier uniquement un noeud je ne sais pas....mais il est sur que(si realisable) se serais plus performant et plus propre.

  3. #3
    Membre éclairé Avatar de Michel38
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2005
    Messages : 227
    Par défaut
    Ok, merci j'essaye ça, et je te dirai si ça marche.
    Merci en tout cas.

  4. #4
    Membre éclairé Avatar de Michel38
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2005
    Messages : 227
    Par défaut
    Et bien finalement non. Ca ne marche pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
            {
                String lNom = dataGridView1.CurrentRow.Cells[0].Value.ToString();
                String lIP = dataGridView1.CurrentRow.Cells[1].Value.ToString();
                mClient = new Serveur(lNom, lIP);
            }
    Là c'est l'événement quand je clique sur une cellule de mon datagridview.
    J'ai bien récupéré mes valeurs saisies dans ma form de saisie.
    Je n'arrive pas ensuite à reporter les modifications qui sont dans mon objet mClient vers le fichier XML.
    Il est déclaré comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mFichXML = global::Statserv.Properties.Resources.serveurs;
    Autre solution ?
    Merci

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 390
    Par défaut
    Je ne sais pas si tu peux lier ton fichier XML a ton DataGridView mais tu peux lire le fichier XML et le modifier avec la librairie System.Xml

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    // Lecture du fichier XML
    XmlDocument monFichierXml = new XmlDocument();
    configDocument.Load(xmlFilePath);
     
    // Récupération du noeud à modifier
    XmlNode Node in monFichierXml["Noeud1"]["Noeud2"] ... ;
     
    // Modification du noeud
    node.value = maValeur;
     
    // Sauvegarde du fichier
    monFichierXml.Save(xmlFilePath);
    Tu peux faire beaucoup d'autre chose comme récuprérer le noeud à partir d'une requete XPath, modifier les valeur d'attribut ...

    En espérant que ca pourra t'aider

    ++

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 612
    Par défaut
    Michel38: je comprend pas trop ce que tu as fait....

    moi j'avais compris sa comme:
    1) tu remplis un DataSet a l'aide d'un fichier XML => DataSet.ReadXML(monfichier)
    2) tu utilise le DataSet pour remplir la DataGridView => DGV.DataSource = DataSet.Tables[0]
    3) on fait plein de modif dans la grille, qui sont normalement reporter dans le DataSet

    4a) on reecris le fichier correspondant => DataSet.WriteXML(monfichierAJour)
    4b) on utilise une methode plus propre pour mettre a jour les noeud necessaire => DataTable = DataSet.Tables[0].GetChanges()
    ici GetChanges nous recupere les ligne aillant subis ajout/modification/suppression

Discussions similaires

  1. Ecriture dans un fichier XML
    Par stephane.julien dans le forum C#
    Réponses: 2
    Dernier message: 02/11/2007, 16h25
  2. Réponses: 1
    Dernier message: 10/04/2007, 19h59
  3. Ecriture dans un fichier XML de beaucoup beaucoup de données
    Par sebastien2222 dans le forum Persistance des données
    Réponses: 8
    Dernier message: 10/08/2006, 09h39
  4. [C#] Probleme d'écriture dans un fichier XML
    Par Joad dans le forum ASP.NET
    Réponses: 5
    Dernier message: 02/05/2005, 16h19

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