Я использую два метода ниже для сериализации / десериализации объекта инфраструктуры объекта (версия 4.0).Я попробовал несколько способов сделать это, и мне не повезло.Сериализация работает отлично.Я получаю хорошую строку в формате XML, но при попытке десериализации я получаю сообщение об ошибке в XML.Как это возможно?
Спасибо.
public static string SerializeObject(Object obj)
{
XmlSerializer ser = new XmlSerializer(obj.GetType());
System.Text.StringBuilder sb = new System.Text.StringBuilder();
System.IO.StringWriter writer = new System.IO.StringWriter(sb);
ser.Serialize(writer, obj);
XmlDocument doc = new XmlDocument();
doc.LoadXml(sb.ToString());
string xml = doc.InnerXml;
return xml;
}
public static object DeSerializeAnObject(string xml, Type objType)
{
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
XmlNodeReader reader = new XmlNodeReader(doc.DocumentElement);
XmlSerializer ser = new XmlSerializer(objType);
object obj = ser.Deserialize(reader);
return obj;
}