1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
using System;
using System.IO;
using System.Xml.Serialization;
public class PurchaseOrder
{
public Item[] ItemsOrdered;
}
public class Item
{
public string ItemID;
public decimal ItemPrice;
/* Needed so it can be serialized */
public Item()
{}
public Item(string id, decimal price)
{
ItemID=id;
ItemPrice=price;
}
}
public class Test
{
public static void Main()
{
Test t=new Test();
t.Create("array.xml");
t.Read("array.xml");
}
private void Create(string filename)
{
XmlSerializer ser=new XmlSerializer(typeof(PurchaseOrder));
PurchaseOrder po=new PurchaseOrder();
Item item1=new Item("aaa111", (decimal)34.22);
Item item2=new Item("bbb222", (decimal)2.89);
po.ItemsOrdered=new Item[2];
po.ItemsOrdered[0]=item1;
po.ItemsOrdered[1]=item2;
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();
foreach(Item item in po.ItemsOrdered)
{
Console.WriteLine("Item: "+item.ItemID);
Console.WriteLine("Price: "+item.ItemPrice);
}
}
}
|