2013-04-02 2 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를 추상적 인 속성을 직렬화하지 않습니다

    , 계정으로 가져가

관련 문제