我正在使用WCF。我有以下模型类。当对象序列化列表cIntList
属性Name
丢失时。我在这里找到了答案:
When a class is inherited from List<>, XmlSerializer doesn't serialize other attributes。
但是,对我来说,不构建容器类很重要,只修改相同的序列化。任何人都可以帮我修改课程,以使其序列化符合我的期望吗?
public class IntData
{
public int Value;
public IntData()
{
}
}
public class cIntList : List<IntData>
{
public string Name;
public cIntList()
{
Name = "Name";
this.Add(new IntData() { Value = 1 });
this.Add(new IntData() { Value = 2 });
}
}
答案 0 :(得分:1)
如果您更改了类,它也将序列化名称字段。
public class cIntList
{
public string Name{ get; set; }
[XmlElement("")]
public List<IntData> IntList{ get; set; }
public cIntList()
{
Name = "Name";
IntList = new List<IntData>();
IntList.Add(new IntData() { Value = 1 });
IntList.Add(new IntData() { Value = 2 });
}
}
您可以根据所需的xml更改或删除XmlElement属性。