C# 对象列表序列化问题
我在将xml文件映射到对象时遇到了一个非常具体的问题 以下是XML示例文件:C# 对象列表序列化问题,c#,xml-serialization,C#,Xml Serialization,我在将xml文件映射到对象时遇到了一个非常具体的问题 以下是XML示例文件: <spyce> <reference name="test"> <Data id="1">10</Data> <Data id="2">20</Data> </reference> </Spyce> 10 20 以下是我的映射类: [Serializable] [XmlRoot("s
<spyce>
<reference name="test">
<Data id="1">10</Data>
<Data id="2">20</Data>
</reference>
</Spyce>
10
20
以下是我的映射类:
[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; }
}
}
[可序列化]
[XmlRoot(“spyce”)]
公共级间谍
{
私人参考;
[XmlElement(“参考”)]
公众参考
{
获取{return reference;}
设置{reference=value;}
}
}
[XmlRoot(“参考”)]
公开课参考
{
[XmlAttribute(“名称”)]
公共字符串名称;
[XmlArray]
私有列表数据列表;
[XmlElement(“数据”)]
公共列表数据列表
{
获取{返回数据列表;}
设置{dataList=value;}
}
}
公共类数据
{
[XmlAttribute(“id”)]
公共字符串id;
私有int数据值;
[XmlElement(“数据”)]
公共int数据值
{
获取{return dataValue;}
设置{dataValue=value;}
}
}
序列化进行得很顺利,我得到了一个Spyce对象。在此对象中是具有变量名和列表数据列表的引用对象。问题来了=>列表中的数据对象有一个变量id,但DataValue始终为0
我该怎么办
致以最良好的问候
Spike只需将属性更改为XmlText:
[XmlText(Type=typeof(int))]
public int DataValue
您是在使用XmlSerializer还是如何序列化/反序列化对象?我正在使用XmlSerializer是的,Reniuz解决了我的问题,以获得快速答案@雷纽兹:thx我完全忘记了它可以是一种文本类型。正常情况下,这不会造成问题。致以最良好的问候。