0
私のUWPプロジェクトでデシリアライズに問題があり、2つのオブジェクトリストからXElementsを含むXML文書が作成されました。値をデシリアライズしてオブジェクトの両方のリストを入力する必要があります。xmlを複数のオブジェクトリストにデシリアライズする
私のクラス:
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); }
}
}
マイコード:
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());
XMLである:あなたが次のことを行うとXMLにあなたのオブジェクトのインスタンスをシリアル化するために
<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>