我想使用xml序列化將一個對象序列化到數據庫中,但是當反序列化它時,我得到一個錯誤。反序列化時XmlSerialization拋出錯誤?
該錯誤是有XML文檔中的錯誤(2,2)與"<MyCustomClass xmlns=''> was not expected."
我使用序列化代碼的內異常:
public static string SerializeToXml<T>(T obj)
{
if (obj == null)
return string.Empty;
StringWriter xmlWriter = new StringWriter();
XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
xmlSerializer.Serialize(xmlWriter, obj);
return xmlWriter.ToString();
}
public static T DeserializeFromXml<T>(string xml)
{
if (xml == string.Empty)
return default(T);
T obj;
XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
StringReader xmlReader = new StringReader(xml);
obj = (T)xmlSerializer.Deserialize(xmlReader);
return obj;
}
的SerializedXml開頭爲:
<?xml version="1.0" encoding="utf-16"?>
<MyCustomClass xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
這是我第一次使用se rialization和我想知道我在做我的代碼錯了什麼。
另外,通常'xmlReader'和'xmlWriter'將用於'XmlReader'的實例, 'XmlWriter',而不是'StringReader'和'StringWriter'。 – 2010-08-18 19:59:27
爲了解決這個問題,我想我們需要看看MyCustomClass的聲明,以及XML的其他部分。 – 2010-08-18 19:59:56
它告訴我,我不能創建抽象類的實例XmlWriter – Rachel 2010-08-18 20:01:43