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 :

[C#/XML] Modifier Noeud


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 90
    Par défaut [C#/XML] Modifier Noeud
    Bonjour je suis débutant en C# et j'ai un petit problème.

    Voici mon fichier xml a modifier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <SOCLE>
      <LIMITE>
        <DATE_EXPIRATION>31/12/2008</DATE_EXPIRATION>
        <DERNIERE_OUVERTURE>12/11/2008</DERNIERE_OUVERTURE>
      </LIMITE>
    </SOCLE>

    Et mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
                XmlDocument xml_doc = new XmlDocument();
                xml_doc.Load("text.xml")
                res = "";
                XmlNodeList nl = xml_doc.SelectNodes("LIMITE");
                foreach (XmlNode xn in nl)
                {
                    if (xn.Name == "DERNIERE_OUVERTURE")
                    {
                        res = DateTime.Now.ToString("dd/MM/yyyy");
                        xn.InnerText = res;
                    }
                }
     
                xml_doc.Save("socle.xml");
    J'essaie de mettre à jour la date de DERNIERE_OUVERTURE. Quand j'exécute aucune erreur mais le fichier n'est pas modifié. Je ne voix pas d'où peut venir mon problème.

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de Paul Musso
    Profil pro
    Inscrit en
    Août 2008
    Messages
    368
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2008
    Messages : 368
    Par défaut
    Bonjour,

    Cela vient peut-être du fait que ton fichier XML est copié dans le dossier DEBUG à chaque compilation. Du coup, le fichier text.xml est écrasé à chaque fois que tu recompiles.

    Ceci dit, ce comportement n'est pas un mal en soit. Pour vérifier que c'est bien ça, après l'exécution de ton programme ouvre ton fichier xml via Windows pour voir s'il contient les modifs enregistrées.

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 90
    Par défaut
    Le fichier est exactement le même après l'exécution en contenu. Mais la date de modification est bien mise à jour.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 21
    Par défaut
    Citation Envoyé par JOBiJOBa3 Voir le message
    Le fichier est exactement le même après l'exécution en contenu. Mais la date de modification est bien mise à jour.
    Au fait tu changes ton noeud mais t'es pas entrain d'écrire sur le fichier.
    Déclares un XmlTextWriter pour pouvoir écrire sur le fichier.

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 90
    Par défaut
    Comment est-ce que l'on ce sert d'un XmlTextWriter ?

  6. #6
    Rédacteur
    Avatar de Paul Musso
    Profil pro
    Inscrit en
    Août 2008
    Messages
    368
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2008
    Messages : 368
    Par défaut
    Euh je crois plutôt que le problème vient de là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XmlNodeList nl = xml_doc.SelectNodes("LIMITE");
    Tu ne récupères aucun noeud ...

    Ca devrait mieux marcher avec ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XmlNodeList nl = xml_doc.SelectNodes("SOCLE/LIMITE/DERNIERE_OUVERTURE");

  7. #7
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 90
    Par défaut
    Merci Paul Musso ta solution fonctionne à merveille.
    Merci aussi à Mouloch.

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

Discussions similaires

  1. Parcourir et modifier noeuds xml
    Par snopims dans le forum ASP.NET
    Réponses: 1
    Dernier message: 08/12/2008, 12h00
  2. [XML] Modifier ou supprimer un Element
    Par FlyByck dans le forum Delphi
    Réponses: 7
    Dernier message: 01/07/2007, 01h59
  3. Réponses: 2
    Dernier message: 20/06/2007, 10h16
  4. asp xml modifier
    Par Alex35 dans le forum ASP
    Réponses: 1
    Dernier message: 06/02/2007, 21h54
  5. [DOM] Modifier noeud root
    Par rainz dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 16/08/2005, 09h25

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