Ich habe Probleme mit meiner Deserialisierung in meinem UWP-Projekt, ich wurde ein XML-Dokument mit XElements aus meinen zwei Objekte Listen erfolgreich erstellt und ich muss die Werte deserialisieren und füllen Sie beide Listen von Objekten.Deserialize eine XML in mehrere Objekte Liste
Meine Klassen:
public class Values_Body: BindableBase
{
private bool _ToAcero;
public bool ToAcero
{
get { return _ToAcero; }
set { SetProperty(ref _ToAcero, value); }
}
private double? _Parcial;
public double? Parcial
{
get { return _Parcial; }
set { SetProperty(ref _Parcial, value); }
}
private double? _Total;
public double? Total
{
get { return _Total; }
set { SetProperty(ref _Total, value); }
}
}
Mein Code:
Values_Head list1 = new Values_Head();
list1.Add(new Head()
{
A = "text1",
B = "text2",
C = "text3",
});
list1.Add(new Head()
{
A = "text4",
B = "text5",
C = "text6",
});
list1.Add(new Head()
{
A = "text7",
B = "text8",
C = "text9",
});
Values_Body list2 = new Values_Body();
list2.Add(new Body()
{
Parcial = 1,
Total=1,
ToAcero = false,
});
list2.Add(new Body()
{
Parcial = 10,
Total = 10,
ToAcero = false,
});
var xml = new XElement("XmlSerialize", new[]
{
new XElement("list1", list1.Select(t => new XElement("name", t.A))),
new XElement("list1", list1.Select(t => new XElement("long", t.B))),
new XElement("list1", list1.Select(t => new XElement("fixable", t.C))),
new XElement("list2", list2.Select(t => new XElement("name", t.Parcial))),
new XElement("list2", list2.Select(t => new XElement("name", t.Total))),
new XElement("list2", list2.Select(t => new XElement("name", t.ToAcero))),
});
File.WriteAllText("NewSave.xml", xml.ToString());
Die XML ist:
<XmlSerialize>
<list1>
<name>text1</name>
<name>text4</name>
<name>text7</name>
</list1>
<list1>
<long>text2</long>
<long>text5</long>
<long>text8</long>
</list1>
<list1>
<fixable>text3</fixable>
<fixable>text6</fixable>
<fixable>text9</fixable>
</list1>
<list2>
<parcial>1</parcial>
<parcial>10</parcial>
</list2>
<list2>
<total>1</total>
<total>10</total>
</list2>
<list2>
<acero>false</acero>
<acero>false</acero>
</list2>
</XmlSerialize>