| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- using System;
- using System.IO;
- using System.Collections;
- using System.Xml.Serialization;
- public class Test
- {
- public static void Main()
- {
- Test t=new Test();
- t.Create("icollection.xml");
- t.Read("icollection.xml");
- }
- private void Create(string filename)
- {
- Employees emps=new Employees();
- /* Note that only the collection is serialized, not
- * the CollectionName or any other public property of
- * the class.
- */
- emps.CollectionName="Employees";
- Employee john100=new Employee("John", "100xxx");
- emps.Add(john100);
- XmlSerializer ser=new XmlSerializer(typeof(Employees));
- TextWriter writer=new StreamWriter(filename);
- ser.Serialize(writer, emps);
- writer.Close();
- }
- private void Read(string filename)
- {
- XmlSerializer ser=new XmlSerializer(typeof(Employees));
- FileStream fs=new FileStream(filename, FileMode.Open);
- Employees emps;
- emps=(Employees)ser.Deserialize(fs);
- fs.Close();
- /* Not serialized! */
- Console.WriteLine("Collection name: "+emps.CollectionName);
- foreach(Employee emp in emps)
- {
- Console.WriteLine("Employee name: "+emp.EmpName);
- Console.WriteLine("Employee ID: "+emp.EmpID);
- }
- }
- }
- public class Employees:ICollection
- {
- public string CollectionName;
- private ArrayList empArray=new ArrayList();
- public Employee this[int index]
- {
- get {
- return((Employee)empArray[index]);
- }
- }
- public void CopyTo(Array a, int index)
- {
- empArray.CopyTo(a, index);
- }
- public int Count
- {
- get {
- return(empArray.Count);
- }
- }
- public object SyncRoot
- {
- get {
- return(this);
- }
- }
- public bool IsSynchronized
- {
- get {
- return(false);
- }
- }
- public IEnumerator GetEnumerator()
- {
- return(empArray.GetEnumerator());
- }
- public void Add(Employee newEmployee)
- {
- empArray.Add(newEmployee);
- }
- }
- public class Employee
- {
- public string EmpName;
- public string EmpID;
- public Employee()
- {}
- public Employee(string empName, string empID)
- {
- EmpName=empName;
- EmpID=empID;
- }
- }
|