Bonjour

Je serialise une liste, tout va bien
Si j'observe XML resultant je constate que la liste a été sauvée sous fome d'array

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
<ArrayOfC_PrintObj>
  <C_PrintObj>
Mais impossible de relire cet array !!

"<ArrayOfC_PrintObj xmlns=''> was not expected."
Voici ci-dessous le code de save et le code de Load
Quel erreur pourrait exister dans le load ?

Merci de votre aide / suggestions

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
 
    // *******************************************************************************************
    private void SaveObj()
    {
      XmlSerializer xs;
      XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
      ns.Add("", "");
 
      List<C_PrintObj> lll = new List<C_PrintObj>();
 
      lll.Add(PrObj[0]);
 
      StreamWriter sw;
      string TemplateFile = "d:/tmp/xxx.xml";
      if (TemplateFile.Length <= 0)
      {
        return;
      }
      xs = new XmlSerializer(typeof(BindingList<C_PrintObj>));
      using (sw = new StreamWriter(TemplateFile, false, Encoding.Default))
      {
        xs.Serialize(sw, PrObj, ns);
        sw.Close();
      }
    }
    // *******************************************************************************************
 
    private void LoadObj()
    {
      C_PrintObj []ps;
      StreamReader sr;
      sr = new StreamReader("d:/tmp/xxx.xml", Encoding.Default);
      XmlSerializer xs;
      XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
      ns.Add("", "");
 
      xs = new XmlSerializer(typeof(C_PrintSettings []));
      try
      {
        ps = (C_PrintObj [])xs.Deserialize(sr);
      }
      catch (Exception e)
      {
        //          MessageBox.Show("Wrong Template file", "Error");
      }
    }
  }