[英]Class not serializing to XML File
下面的代码不输出流。 对我来说看起来正确,但不起作用。
LineItem i1 = new LineItem() { Id = 1, PartNumber = "abc" };
LineItem i2 = new LineItem() { Id = 2, PartNumber = "def" };
LineItem i3 = new LineItem() { Id = 3, PartNumber = "ghi" };
LineItem i4 = new LineItem() { Id = 4, PartNumber = "jkl" };
List<LineItem> l1 = new List<LineItem>();
l1.Add(i1);
l1.Add(i2);
l1.Add(i3);
l1.Add(i4);
Customer c1 = new Customer() { Id = 1, Company = "MSFT", Name = "John", LineItems = l1 };
XmlSerializer mySerializer = new XmlSerializer(typeof(Customer));
TextWriter myWriter = new StreamWriter(@"XMLFile1.xml");
mySerializer.Serialize(myWriter, c1);
myWriter.Close();
查看您所得到的内部异常。 它将告诉您序列化哪个字段/属性。
另外,请记住,序列化的类必须具有默认构造函数。 如果您的构造函数带有参数,则还需要添加默认的构造函数。 (没有构造函数就可以了)
XmlSerializer不会序列化抽象属性,请考虑到这一点
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.