I found some discussion in same topic but still can't find the ultimate solution to a very simple task of serialize/deserialze an object in xml format.
The issue I run into is :
There is an error in XML document (2,2)
And the code to reproduce issue :
  public partial class Form1 : Form
  {
    public Form1()
    {
      InitializeComponent();
    }
    private void Serialize_Click(object sender, EventArgs e)
    {
      testclass t = new testclass();
      t.dummyInt = 10;
      t.dummyString = "sssdf";
      textBox1.Text = t.SerializeObject();
    }
    private void Deserialize_Click(object sender, EventArgs e)
    {
      try
      {
        object o = MySerializer.DeserializeObject<object>(textBox1.Text);
      }
      catch (Exception Ex)
      {
        MessageBox.Show(Ex.Message + Ex.InnerException, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
      }
    }
  }
public class testclass
{
  public int dummyInt;
  public string dummyString;
  public testclass() { }
}
public static class MySerializer
{
  public static string SerializeObject<T>(this T toSerialize)
  {
    XmlSerializer xmlSerializer = new XmlSerializer(toSerialize.GetType());
    using (StringWriter textWriter = new StringWriter())
    {
      xmlSerializer.Serialize(textWriter, toSerialize);
      return textWriter.ToString();
    }
  }
  public static T DeserializeObject<T>(string data)
  {
    XmlSerializer serializer = new XmlSerializer(typeof(T));
    using (StringReader sReader = new StringReader(data))
    {
      return (T)serializer.Deserialize(sReader);
    }
  }
}
So what is wrong here?

 
    