using System.ComponentModel;
using System.Xml.Serialization;
public static void Main()
var writerValue = String.Empty;
var student = new Student
var serializer = new XmlSerializer(typeof(Student));
using (var writer = new StringWriter())
serializer.Serialize(writer, student);
writerValue = writer.ToString();
Console.WriteLine(writerValue);
var deserializer = new XmlSerializer(typeof(Student));
using (var reader = new StringReader(writerValue))
var studentReader = (Student)deserializer.Deserialize(reader);
Console.WriteLine("\nReading Student values");
foreach(PropertyDescriptor descriptor in TypeDescriptor.GetProperties(studentReader))
string name = descriptor.Name;
object value = descriptor.GetValue(studentReader);
Console.WriteLine("{0}={1}", name, value);
[XmlRoot("StudentDetails")]
public int Id {get; set;}
[XmlElement("MemberName")]
public string Name {get; set;}
public bool IsSenior {get; set;}
public bool Dontshowthis {get; set;}