我想使用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