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 :

Problème de dé-serialisation d'une liste


Sujet :

C#

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Ingénieur d'Etudes
    Inscrit en
    Juillet 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur d'Etudes

    Informations forums :
    Inscription : Juillet 2010
    Messages : 6
    Par défaut Problème de dé-serialisation d'une liste
    Bonjour,

    Voici mon problème : je ne parviens pas à dé-serialiser une liste de recettes (contenant une liste d'ingrédients, contenue dans un XML). Vous trouverez le message d'erreur en PJ.
    J'ai eu beau parcourir les forums, rien n'a pu me faire résoudre ce problème pénible ..

    Voici mon code métier :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
       [XmlRoot("Recettes", IsNullable = false)]    
        public class Recette
        {    
            [XmlElement]
            public string NomRecette;
            [XmlElement]
            public string CategorieRecette;
            [XmlArray("Ingredients")]
            public Ingredient[] Ingredients;
            [XmlElement]
            public string PreparationRecette;
            [XmlElement]
            public string CuissonRecette;
     
            //public bool AjouterRecette
        }
     
        public class Ingredient
     
        {
            [XmlElement]
            public string NomIngredient;
            [XmlElement]
            public double QuantiteIngredient;
            [XmlElement]
            public string UniteIngredient;
        }
    Voici le code de dé-serialisation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
            public void DeSerialiserXML()
            {
                try
                {
                    RecettesFromXml = (List<Recette>)serializer.Deserialize(FLuxES.Stream_lecture);
                    FLuxES.liberer_stream_lecture();
                }
                catch (System.InvalidOperationException e)
                {
                    MessageBox.Show("Echec lors de la lecture des recettes \r \n" + e.ToString(), "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
    Le code de serialisation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
            private void SerialiserXML()
            {
                try
                {
                    serializer.Serialize(FLuxES.Stream_ecriture, RecettesFromXml);
                    FLuxES.liberer_stream_ecriture();
                }
                catch (System.InvalidOperationException e)
                {
                    MessageBox.Show("Echec lors de la sauvegarde des recettes \r \n" + e.ToString(), "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
    Sachant que RecettesFromXml est définit comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public List<Recette> RecettesFromXml;
    Après l'enregistrement de deux recettes test, voici le contenu du XML :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <?xml version="1.0" encoding="utf-8"?>
    <ArrayOfRecette xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <Recette>
        <NomRecette>Recette_test</NomRecette>
        <CategorieRecette>Entrée</CategorieRecette>
        <Ingredients>
          <Ingredient>
            <NomIngredient>Carotte</NomIngredient>
            <QuantiteIngredient>100</QuantiteIngredient>
            <UniteIngredient>g</UniteIngredient>
          </Ingredient>
          <Ingredient>
            <NomIngredient>Carotte</NomIngredient>
            <QuantiteIngredient>100</QuantiteIngredient>
            <UniteIngredient>g</UniteIngredient>
          </Ingredient>
        </Ingredients>
        <PreparationRecette>Blabla</PreparationRecette>
        <CuissonRecette>Blabla</CuissonRecette>
      </Recette>
      <Recette>
        <NomRecette>Recette_test_2</NomRecette>
        <CategorieRecette>Entrée</CategorieRecette>
        <Ingredients>
          <Ingredient>
            <NomIngredient>Carotte</NomIngredient>
            <QuantiteIngredient>200</QuantiteIngredient>
            <UniteIngredient>g</UniteIngredient>
          </Ingredient>
          <Ingredient>
            <NomIngredient>Carotte</NomIngredient>
            <QuantiteIngredient>200</QuantiteIngredient>
            <UniteIngredient>g</UniteIngredient>
          </Ingredient>
        </Ingredients>
        <PreparationRecette>Blabla_2</PreparationRecette>
        <CuissonRecette>Blabla_2</CuissonRecette>
      </Recette>
    </ArrayOfRecette>
    (le ArrayOfRecette commence à m'agacer )

    Au démarrage de l'application, j'essaie de charger les recettes ... et du coup badaboum à la dé-serialisation ...

    Qu'en dites-vous ?
    Où peut bien se trouver le bug qui fait tout péter ? En tout cas, je ne m'en sors pas.
    Merci par avance pour vos réponses chers passionés !!
    Images attachées Images attachées  

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

Discussions similaires

  1. Problème avec un bouton lié à une liste déroulant
    Par valouche dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 01/06/2007, 13h55
  2. Problème requête d'affichage d'une liste
    Par mLk92 dans le forum Requêtes
    Réponses: 3
    Dernier message: 14/01/2007, 11h17
  3. Réponses: 10
    Dernier message: 08/12/2006, 02h18
  4. Réponses: 28
    Dernier message: 24/05/2006, 18h20
  5. Problème d'affichage dynamique d'une liste
    Par bor1s dans le forum ASP
    Réponses: 2
    Dernier message: 18/11/2005, 16h18

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