我必须反序列化以下XML:
<section>
<class_id>Cls101</class_id>
<sect_no>1</sect_no>
<class_section>class section</class_section>
<meet_days>
<day>M</day>
<day>T</day>
<day>W</day>
</meet_days>
</section>
我为此创建了以下类:
[Serializable]
[XmlRoot("section")]
public class Section
{
[XmlElement("class_id")]
public string ClassId { get; set; }
[XmlElement("sect_no")]
public string SectionNo { get; set; }
[XmlElement("class_section")]
public string ClassSection { get; set; }
[XmlArray("meet_days")]
[XmlArrayItem("day")]
public List<Days> MeetDays { get; set; }
}
[Serializable]
public class Days
{
[XmlElement("day")]
public string Day { get; set; }
}
在反序列化的对象中,我为所有3行获取Day
null
。
我在这里缺少什么?
答案 0 :(得分:1)
由于Day
只有一个属性是字符串,因此请考虑删除Day
类并将Section
类更改为:
[XmlArray("meet_days")]
[XmlArrayItem("day")]
public List<string> MeetDays { get; set; }
这样,M,T和W值被映射到字符串而不是Day
类中的字符串。
答案 1 :(得分:0)