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 :

Soucis de sérialization d'une liste d'objet [Débutant]


Sujet :

C#

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 8
    Par défaut Soucis de sérialization d'une liste d'objet
    Bonjour,

    J'ai un petit soucis au niveau de la Sérialization comme indiquer dans le titre.

    Le problème pour faire court, j'ai une liste de "Seal_Values", classe Seal_Values composer d'un int ID et d'un double Value, rien de bien compliqué. A chaque fois avant d'enregistrer dans l'XML je remplis cette liste avec les valeurs Tag et Text de toutes mes TextBox (WindowsForm). Jusque là rien d'anormal, ma liste de Seal_Values contient bien 37 éléments, par contre la sérialization ne marche pas "L'objet ne contient pas de constructeur sans attribut", bon je lui en crée un... Maintenant la sérialization marche maiiiiiis pas tout à fait mon XML est "quasiment vide".

    Hors j'aimerai juste un fichier avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <id>100</id>
    <value>200</value>
    <id>101</id>
    <value>50</value>
    Rien de bien compliqué en somme. Bref je vous met mon code et le screen de mon XML, en espérant que vous pourrez m'aider !

    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    // Classe Seal_Values
     
    public class Seal_Values
    {
            #region Private Members
            /// <summary>
            /// ID
            /// </summary>        
            private int m_Id;
            /// <summary>
            /// Valeur
            /// </summary>        
            private double m_Valeur;
            #endregion
     
            #region Constructor
            /// <summary>
            /// Contructeur type code
            /// </summary>
            public Seal_Values(int Id,
                               double Valeur)
     
            {
                m_Id = Id;
                m_Valeur = Valeur;
            }
     
            public Seal_Values()
     
            {
     
            }
            #endregion
     
            #region Accessors
            /// <summary>
            /// paramètre ID
            /// </summary>
            public int Id
            {
                get { return this.m_Id; }
            }
            /// <summary>
            /// paramètre Valeur
            /// </summary>
            public double Valeur
            {
                get { return this.m_Valeur; }
            }
            #endregion
    }


    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
     
    // Classe pour enregistrement XML   
    private bool EnregistrerParamXml()
            {
                try
                {
                    MessageBox.Show(test.Count.ToString());
                    XmlSerializer serializer = new XmlSerializer(typeof(List<Seal_Values>));
                    using (StreamWriter stream = new StreamWriter(@".\\Settings\\test.xml"))
                    {
                        serializer.Serialize(stream, test);
                    }
     
                }
                catch (Exception ex)
                {
                    return false;
                }
                return true;
    }

    Nom : XML.PNG
Affichages : 202
Taille : 28,8 Ko

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    de mémoire le xmlserializer recherche des propriétés public ayant un getter et un setter
    tu n'as pas de set sur tes propriétés
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 8
    Par défaut
    Arf, oui c'était juste ça, sur le net ils expliquent beaucoup comment Sérializer mais pas l'obligation du Set sur les attributs (ou j'avais pas bien lu).
    En tout cas ça marche, merci beaucoup !

    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
    public class Seal_Values
    {
            #region Private Members
            /// <summary>
            /// ID
            /// </summary>        
            private int m_Id;
            /// <summary>
            /// Valeur
            /// </summary>        
            private double m_Valeur;
            #endregion
     
            #region Constructor
            /// <summary>
            /// Contructeur type code
            /// </summary>
            public Seal_Values(int Id,
                               double Valeur)
     
            {
                m_Id = Id;
                m_Valeur = Valeur;
            }
     
            public Seal_Values()
     
            {
     
            }
            #endregion
     
            #region Accessors
            /// <summary>
            /// paramètre ID
            /// </summary>
            public int Id
            {
                get
                {
                    return m_Id;
                }
     
                set
                {
                    m_Id = value;
                }
            }
            /// <summary>
            /// paramètre Valeur
            /// </summary>
            public double Valeur
            {
                get
                {
                    return m_Valeur;
                }
     
                set
                {
                    m_Valeur = value;
                }
    }

    Nom : XML.PNG
Affichages : 189
Taille : 56,9 Ko

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 11/05/2006, 19h20
  2. Créer une liste d'objets statiques dans une classe
    Par crossbowman dans le forum C++
    Réponses: 3
    Dernier message: 13/03/2006, 09h11
  3. methode qui retourne une liste d'objets du meme type
    Par anoukhan dans le forum Oracle
    Réponses: 8
    Dernier message: 12/01/2006, 18h38
  4. Tri d'une liste d'objet CObList
    Par cjacquel dans le forum MFC
    Réponses: 1
    Dernier message: 13/07/2005, 13h50
  5. [MFC] Retourner une liste d'objets
    Par 1cado dans le forum MFC
    Réponses: 10
    Dernier message: 28/07/2003, 12h11

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