gpt4 book ai didi

c# - 反序列化时 XmlSerialization 抛出错误?

转载 作者:行者123 更新时间:2023-11-30 22:44:13 27 4
gpt4 key购买 nike

我正在尝试使用 xml 序列化将一个对象序列化到数据库中,但是在反序列化它时出现错误。

错误是 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">

这是我第一次使用序列化,我想知道我的代码哪里做错了。

最佳答案

顺便说一句,您需要在代码周围使用 block :

using (StringReader reader = new StringReader(xml))
{
obj = (T)xmlSerializer.Deserialize(reader);
}

关于c# - 反序列化时 XmlSerialization 抛出错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3516131/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com