2013-04-02 34 views
0

下面的代码不输出流。看起来对我来说是正确的,但不起作用。未序列化为XML的类文件

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(); 
+1

那么,什么_does_它的输出? –

+1

什么是错误? –

+1

首先,显示客户类定义 –

回答

0
  • 看看你所得到的内部异常。它会告诉你 哪个字段/属性有问题序列化。

  • 此外,请记住,序列化类必须具有默认构造函数。 如果你有一个带参数的构造函数,你还需要添加 默认值。 (有没有构造函数是罚款)

  • 的XmlSerializer不会序列化抽象的性质,考虑到这一点