49 lines
918 B
C#
49 lines
918 B
C#
|
using System;
|
||
|
using System.IO;
|
||
|
using System.Xml.Serialization;
|
||
|
|
||
|
public class PurchaseOrder
|
||
|
{
|
||
|
public Address MyAddress;
|
||
|
}
|
||
|
|
||
|
public class Address
|
||
|
{
|
||
|
public string FirstName;
|
||
|
}
|
||
|
|
||
|
public class Test
|
||
|
{
|
||
|
public static void Main()
|
||
|
{
|
||
|
Test t=new Test();
|
||
|
t.Create("complex.xml");
|
||
|
t.Read("complex.xml");
|
||
|
}
|
||
|
|
||
|
private void Create(string filename)
|
||
|
{
|
||
|
XmlSerializer ser=new XmlSerializer(typeof(PurchaseOrder));
|
||
|
PurchaseOrder po=new PurchaseOrder();
|
||
|
Address addr=new Address();
|
||
|
addr.FirstName="George";
|
||
|
po.MyAddress=addr;
|
||
|
|
||
|
TextWriter writer=new StreamWriter(filename);
|
||
|
ser.Serialize(writer, po);
|
||
|
writer.Close();
|
||
|
}
|
||
|
|
||
|
private void Read(string filename)
|
||
|
{
|
||
|
XmlSerializer ser=new XmlSerializer(typeof(PurchaseOrder));
|
||
|
FileStream fs=new FileStream(filename, FileMode.Open);
|
||
|
PurchaseOrder po;
|
||
|
|
||
|
po=(PurchaseOrder)ser.Deserialize(fs);
|
||
|
fs.Close();
|
||
|
|
||
|
Console.WriteLine("Name: "+po.MyAddress.FirstName);
|
||
|
}
|
||
|
}
|