对象列表序列化问题
本文关键字:问题 序列化 列表 对象 | 更新日期: 2023-09-27 18:01:52
我在XML文件到对象的映射方面有一个非常具体的问题。
下面是XML示例文件:
<spyce>
<reference name="test">
<Data id="1">10</Data>
<Data id="2">20</Data>
</reference>
</Spyce>
下面是我的映射类:
[Serializable]
[XmlRoot("spyce")]
public class Spyce
{
private Reference reference;
[XmlElement("reference")]
public Reference Reference
{
get { return reference; }
set { reference = value; }
}
}
[XmlRoot("reference")]
public class Reference
{
[XmlAttribute("name")]
public string name;
[XmlArray]
private List<Data> dataList;
[XmlElement("data")]
public List<Data> DataList
{
get { return dataList; }
set { dataList = value; }
}
}
public class Data
{
[XmlAttribute("id")]
public string id;
private int dataValue;
[XmlElement("data")]
public int DataValue
{
get { return dataValue; }
set { dataValue= value; }
}
}
序列化进展顺利,得到一个Spyce对象。在这个对象中是一个Reference对象,它带有变量名和列表DataList。问题来了=>列表中的数据对象有一个变量id,但数据值总是为0。
我该如何处理?
With best regards.
高峰将属性更改为XmlText:
[XmlText(Type=typeof(int))]
public int DataValue