none
Données corrompues dans un fichier créé par un XmlWriter RRS feed

  • Question

  • Bonjour,

    J'ai quelques soucis avec la classe XmlWriter qui parfois ne créé pas certaines parties de certains de mes fichiers xml. C'est assez aléatoire, et j'ai du mal à trouver la source du problème, d'autant que le code associé est très simple.

    Par exemple :

    XmlWriterSettings ParamWriter = new XmlWriterSettings();
    ParamWriter.ConformanceLevel = ConformanceLevel.Auto;
    ParamWriter.Indent = true;
    
    using (XmlWriter FichierConf = XmlWriter.Create(new StreamWriter(Chemin), ParamWriter))
    {
        FichierConf.WriteStartDocument();
    
        FichierConf.WriteStartElement("Configuration");
    
        FichierConf.WriteStartElement("Langue");
        FichierConf.WriteValue(Langue);
        FichierConf.WriteEndElement();
    
        FichierConf.WriteStartElement("CheminDernierProjet");
        FichierConf.WriteValue(CheminDernierProjet);
        FichierConf.WriteEndElement();
    
        FichierConf.WriteEndElement();
        FichierConf.WriteEndDocument();
    }

    Me donne parfois le fichier suivant :

    <?xml version="1.0" encoding="utf-8"?>
    <Configuration>
      <Langue>french</Langue>
      <CheminDernierProjet />
    </Configuration>

    J'ai essayé en ajoutant des Flush() après chaque élément, ça n'a pas changé grand chose. Les différentes variables contiennent bien quelque chose au moment de l'écriture.

    Je sèche un peu, quelqu'un aurait-il une idée ?

    Merci.


    • Modifié Robix66 jeudi 21 juin 2012 16:11
    jeudi 21 juin 2012 15:56

Réponses

  • Bonjour,

    Si votre élément CheminDernierProjet est vide, c'est que la variable "CheminDernierProjet" est null.

    Avez-vous vérifié que la variable "CheminDernierProjet" est non null ?

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    • Marqué comme réponse Robix66 lundi 25 juin 2012 08:27
    vendredi 22 juin 2012 09:25
    Modérateur

Toutes les réponses

  • Bonjour,

    Si votre élément CheminDernierProjet est vide, c'est que la variable "CheminDernierProjet" est null.

    Avez-vous vérifié que la variable "CheminDernierProjet" est non null ?

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    • Marqué comme réponse Robix66 lundi 25 juin 2012 08:27
    vendredi 22 juin 2012 09:25
    Modérateur
  • En effet parfois je remplissais la mauvaise variable et laissait celle-ci vide.

    Merci pour votre aide.

    lundi 25 juin 2012 08:26