我正在尝试将 ObservableCollection 的代码序列化为 XML 文件。当我这样做时,生成的 XML 是这样的:
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfCode xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Code>
<AccpacCode>ORWC</AccpacCode>
<LAC>94199999999999999</LAC>
<SCSCode>WC</SCSCode>
</Code>
<Code>
<AccpacCode>AK9999</AccpacCode>
<LAC>90299999999999999</LAC>
<SCSCode>UI</SCSCode>
<ParentEmployerAccpacCode>AKSUTA</ParentEmployerAccpacCode>
</Code>
<Code>
<AccpacCode>AL0014</AccpacCode>
<LAC>90107307000999999</LAC>
<SCSCode>IT</SCSCode>
</Code>
<Code>
<AccpacCode>IN0006</AccpacCode>
<LAC>91817599999999999</LAC>
<SCSCode>IT</SCSCode>
</Code>
这一切都很好,除了我需要标签Codes
代替ArrayOfCode
. 如何指定标签名称?
这是代码模型:
namespace SerializeObservableCollection.Model
{
[Serializable()]
public class Codes
{
public Codes() { }
[XmlElement("Code")]
public ObservableCollection<Code> CodeCollection { get; set; }
}
[Serializable()]
public class Code
{
[XmlElement("AccpacCode")]
public string AccpacCode { get; set; }
[XmlElement("LAC")]
public string LAC { get; set; }
[XmlElement("SCSCode")]
public string SCSCode { get; set; }
[XmlElement("ParentEmployerAccpacCode")]
public string ParentEmployerAccpacCode { get; set; }
}
}
这是执行序列化的代码:
private void SaveToXML()
{
try
{
XmlSerializer _serializer = new XmlSerializer(typeof(ObservableCollection<Code>));
using (StreamWriter _writer = new StreamWriter(@"LocalCodes.xml"))
{
_serializer.Serialize(_writer, CodeCollection);
}
}
catch (Exception ex)
{
}
}