complex.cs 918 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using System;
  2. using System.IO;
  3. using System.Xml.Serialization;
  4. public class PurchaseOrder
  5. {
  6. public Address MyAddress;
  7. }
  8. public class Address
  9. {
  10. public string FirstName;
  11. }
  12. public class Test
  13. {
  14. public static void Main()
  15. {
  16. Test t=new Test();
  17. t.Create("complex.xml");
  18. t.Read("complex.xml");
  19. }
  20. private void Create(string filename)
  21. {
  22. XmlSerializer ser=new XmlSerializer(typeof(PurchaseOrder));
  23. PurchaseOrder po=new PurchaseOrder();
  24. Address addr=new Address();
  25. addr.FirstName="George";
  26. po.MyAddress=addr;
  27. TextWriter writer=new StreamWriter(filename);
  28. ser.Serialize(writer, po);
  29. writer.Close();
  30. }
  31. private void Read(string filename)
  32. {
  33. XmlSerializer ser=new XmlSerializer(typeof(PurchaseOrder));
  34. FileStream fs=new FileStream(filename, FileMode.Open);
  35. PurchaseOrder po;
  36. po=(PurchaseOrder)ser.Deserialize(fs);
  37. fs.Close();
  38. Console.WriteLine("Name: "+po.MyAddress.FirstName);
  39. }
  40. }