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

ASP.NET Discussion :

[C#] Probleme d'écriture dans un fichier XML


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 71
    Points : 46
    Points
    46
    Par défaut [C#] Probleme d'écriture dans un fichier XML
    Bonjour!

    Je suis en train de réaliser une fonction qui me permet d'écrire dans un fichier xml a partir d'un Dataset.

    Dans un premier temps, je récupere mon Fichier Xml dans le Dataset :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    XmlDocument xmlDoc = new  XmlDocument();
    XmlDoc.Load(HttpContext.Current.Server.MapPath("setup/Setup.xml"));
    DataSet ds = new  DataSet();
    XmlNodeReader xnr = new XmlNodeReader(xmlDoc);
    ds.ReadXml(xnr);
    return ds;
    J'insere une ligne dans le DataSet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    DataRow Dr = DsXml.Tables["mytabechild"].NewRow();
    				Dr[0] = ServerName;
    				Dr[1] = ServerPort;
    DsXml.Tables["mytabechild"].Rows.Add(Dr);
    Ensuite je réécri mon fichier Xml a partir du Dataset :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DsXml.WriteXml(HttpContext.Current.Server.MapPath("setup/Setup.xml"));
    Mais je n'obtient pas le résultat escompté !

    il ne me place pas mon insertion ou je veux ...

    en effet :
    Fichier Xml lorsqu'il est chargé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <main>
        <parent1>
             <enfant1/>
             <enfant2/>
        </parent1>
        <parent2>
             <enfant3/>
             <enfant4/>
        </parent2>
    </main>
    si j'insere une ligne j'obtient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <main>
        <parent1>
             <enfant1/>
             <enfant2/>
        </parent1>
       <enfant5>  <---- PROBLEME !
        <parent2>
             <enfant3/>
             <enfant4/>
        </parent2>
    </main>
    J'aimerai qu'il s'insere directement en dessous de parent1 et je ne comprend pas pourquoi cela ne le fait pas !
    Quelqu'un a til une idée pour m'aider ???

  2. #2
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    Comme tu es là tu ne spécifies pas qu'il doit le faire dans le 1er fils de main mais bien d'ajouter une ligne à main...

    Didier Danse

    Most Valuable Profesionnal SharePoint
    Microsoft Certified Application Developer
    Mes articles sur developpez.com
    Mon site perso


  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 71
    Points : 46
    Points
    46
    Par défaut
    Comment faire pour spécifier cela ?

    Je viens d'essayer en écrivant mon code comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    DataRow Dr = DsXml.Tables["parent1"].ChildRelations["parent1_enfant1"].ChildTable.NewRow();
    Dr[0] = mystring1;
    Dr[1] = mystring2;
     
    DsXml.Tables["parent1"].ChildRelations["parent1_enfant1"].ChildTable.Rows.Add(Dr);	DsXml.WriteXml(HttpContext.Current.Server.MapPath("setup/Setup.xml"));
    Ca ne fonctionne pas non plus et je ne vois pas ce qui ne va pas

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 71
    Points : 46
    Points
    46
    Par défaut
    Bon et bien j'ai réglé ca tout seul en ne passant pas par un DataSet mais en utilisant d'autres propriétés de la class XML.

    Si ca peut aider quelqu'un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    doc.Load(filename);
    element = doc.CreateElement("enfant1");
     
    XmlAttribute attr1 = doc.CreateAttribute("name");
    attr1.Value = username;
    element.SetAttributeNode(attr1);
    				doc.DocumentElement["parent1"].AppendChild(element);
     
    doc.Save(filename);

  5. #5
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    On appelle ca la télépathie :p

    Didier Danse

    Most Valuable Profesionnal SharePoint
    Microsoft Certified Application Developer
    Mes articles sur developpez.com
    Mon site perso


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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 71
    Points : 46
    Points
    46
    Par défaut
    ouai pas mal

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

Discussions similaires

  1. écriture dans un fichier xml en mode ajout
    Par princessemira dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 17/05/2010, 13h18
  2. Réponses: 7
    Dernier message: 05/05/2010, 11h40
  3. [SimpleXML] Écriture dans un fichier XML
    Par Nounet12 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 24/06/2008, 11h43
  4. Problème d'écriture dans un fichier xml
    Par vanoou dans le forum C++Builder
    Réponses: 1
    Dernier message: 13/07/2005, 02h28

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