1 pièce(s) jointe(s)
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:
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:
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:
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;
} |
Pièce jointe 451604