**** Merged from MCS ****
[mono-project.git] / mcs / class / System.XML / System.Xml.Serialization / standalone_tests / array.cs
blob8300f056adfb2a1e7a8097c9a0f581f6265cb5d1
1 using System;
2 using System.IO;
3 using System.Xml.Serialization;
5 public class PurchaseOrder
7 public Item[] ItemsOrdered;
10 public class Item
12 public string ItemID;
13 public decimal ItemPrice;
15 /* Needed so it can be serialized */
16 public Item()
19 public Item(string id, decimal price)
21 ItemID=id;
22 ItemPrice=price;
26 public class Test
28 public static void Main()
30 Test t=new Test();
31 t.Create("array.xml");
32 t.Read("array.xml");
35 private void Create(string filename)
37 XmlSerializer ser=new XmlSerializer(typeof(PurchaseOrder));
38 PurchaseOrder po=new PurchaseOrder();
39 Item item1=new Item("aaa111", (decimal)34.22);
40 Item item2=new Item("bbb222", (decimal)2.89);
42 po.ItemsOrdered=new Item[2];
43 po.ItemsOrdered[0]=item1;
44 po.ItemsOrdered[1]=item2;
46 TextWriter writer=new StreamWriter(filename);
47 ser.Serialize(writer, po);
48 writer.Close();
51 private void Read(string filename)
53 XmlSerializer ser=new XmlSerializer(typeof(PurchaseOrder));
54 FileStream fs=new FileStream(filename, FileMode.Open);
55 PurchaseOrder po;
57 po=(PurchaseOrder)ser.Deserialize(fs);
58 fs.Close();
60 foreach(Item item in po.ItemsOrdered)
62 Console.WriteLine("Item: "+item.ItemID);
63 Console.WriteLine("Price: "+item.ItemPrice);