XML C# Tutorial

using System;
using System.Xml;
using System.Collections.Generic;
using System.Text;
    class Program{
        static void Main(string[] args)
        {
            XmlDocument itemDoc = new XmlDocument();
            itemDoc.Load("items.xml");
            Console.WriteLine("DocumentElement has {0} children.",itemDoc.DocumentElement.ChildNodes.Count);
            foreach (XmlNode itemNode in itemDoc.DocumentElement.ChildNodes)
            {
                XmlElement itemElement = (XmlElement)itemNode;
                Console.WriteLine("\n[Item]: {0}\n{1}", itemElement.Attributes["name"].Value,itemElement.Attributes["description"].Value);
                if (itemNode.ChildNodes.Count == 0)
                    Console.WriteLine("(No additional Information)\n");
                else
                {
                    foreach (XmlNode childNode in itemNode.ChildNodes)
                    {
                        if (childNode.Name.ToUpper() == "ATTRIBUTE")
                        {
                            Console.WriteLine("{0} : {1}",
                                childNode.Attributes["name"].Value,
                                childNode.Attributes["value"].Value);
                        }
                        else if (childNode.Name.ToUpper() == "SPECIALS")
                        {
                            foreach (XmlNode specialNode in childNode.ChildNodes)
                            {
                                Console.WriteLine("*{0}:{1}",
                                    specialNode.Attributes["name"].Value,
                                    specialNode.Attributes["description"].Value);
                            }
                        }
                    }
                }
            }
        }
    }