XML C# Tutorial

using System;
using System.Xml.Serialization;
using System.IO;
public class MyValue1
{
    [XmlText(typeof(string))]
    [XmlElement(typeof(int))]
    [XmlElement(typeof(double))]
    public object[] All = new object[] { 321, "One", 2, 3.0, "Two" };
}
public class MyValue2
{
    [XmlText(Type = typeof(MyValueType))]
    public MyValueType Type;
}
public enum MyValueType
{
    Small,
    Medium,
    Large
}
public class MyValue3
{
    [XmlText(Type = typeof(DateTime))]
    public DateTime CreationTime = DateTime.Now;
}
public class Test
{
    static void Main()
    {
        Test t = new Test();
        t.SerializeEnum("XmlText1.xml");
    }
    private void SerializeEnum(string filename)
    {
        XmlSerializer ser = new XmlSerializer(typeof(MyValue2));
        MyValue2 myValue = new MyValue2();
        myValue.Type = MyValueType.Medium;
        TextWriter writer = new StreamWriter(filename);
        ser.Serialize(writer, myValue);
        writer.Close();
    }
}