【发布时间】:2009-11-25 16:02:14
【问题描述】:
我有一个非常基本的类,它是一个子类列表,以及一些摘要数据。
[Serializable]
public class ProductCollection : List<Product>
{
public bool flag { get; set; }
public double A { get; set; }
public double B { get; set; }
public double C { get; set; }
}
// method to save this class
private void SaveProductCollection()
{
// Export case as XML...
XmlSerializer xml = new XmlSerializer(typeof(ProductCollection));
StreamWriter sw = new StreamWriter("output.xml");
xml.Serialize(sw, theCollection);
sw.Close();
}
当我致电SaveProductCollection() 时,我得到以下信息:
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfProduct xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Product>
<InputType>1</InputType>
</Product>
<Product>
<InputType>1</InputType>
</Product>
</ArrayOfProduct>
请注意,我有基本类型:List<Product>。但我没有任何类属性:flag、A、B、C。
我做错了吗?怎么了??
更新感谢您的回复。我不知道这是设计使然。我已经转换为 BinaryFormatter(用于二进制序列化),效果很好。
【问题讨论】:
标签: c# list xml-serialization ienumerable xmlserializer