| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- 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);
- }
- }
- }
|