Write a simple object to and from XML using C#

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:

A Beginner’s Guide to the XML DOM

XML Technology Center

About these ads

About chanmingman

Ming Man is a senior manager for a development company. With 20 years of experience in the IT field, he has developed system using Clipper, COBOL, VB5, VB6, VB.NET, Java and C #. He is familiar with the N-Tier design of business application and is also an expert with database experience in MS SQL, Oracle and AS 400.
This entry was posted in .Net. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s