Write a simple object to and from XML using C#
Write to XML file is always easier than read from XML file. Not too sure what I mean, it is alright because I have a sample for you to understand and comment.
In this sample I have a class BankAccount. I will serialize the BankAccount object to XML with 2 properties and use XMLReader to get back what have been written to the XML file (in the sample the file name for XML file is XMLBank.xml).
For this sample I glue the WriteXML and ReadXML method with the BankAccount. The entire class as below:
public class BankAccount
{
public String AccID { get; set; }
public double Amount { get; set; }
public void WriteXML()
{
XmlSerializer serializer;
TextWriter writer = new StreamWriter("XMLBank.xml");
BankAccount bc = new BankAccount();
bc.AccID = "13-0001";
bc.Amount = 1000000;
serializer = new XmlSerializer(typeof(BankAccount));
serializer.Serialize(writer, bc);
writer.Close();
}
public void ReadXML()
{
XmlReader reader = XmlReader.Create("XMLBank.xml");
reader.Read();
reader.ReadStartElement("BankAccount");
reader.ReadStartElement("AccID");
Console.WriteLine(reader.ReadString());
reader.ReadToFollowing("Amount");
Console.WriteLine(reader.ReadString());
}
}
Doing it this way then the application will not tie down to any database such as Oracle Database or MS SQL. If you have better and easier link then do share with me.
The complete code is in
http://skydrive.live.com
. The sample file name is ConsoleObjtoXML.rar. My MSN ID is chanmmn@hotmail.com.
Resources: