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?