【发布时间】:2016-07-07 11:39:36
【问题描述】:
序列化类并保存到文件时,有时会出现错误,序列化输出如下所示:
<?xml version="1.0"?>
<Template xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Route>Some Route</Route>
<TradePack>Something Here</TradePack>
<Transport />
</Template>te> ------> Notice this extra string?
我正在序列化的类如下所示:
[Serializable]
public class Template
{
public string Route = string.Empty;
public string TradePack = string.Empty;
public string Transport = string.Empty;
public Template()
{
}
}
我似乎无法弄清楚为什么会这样。这是我的序列化程序类:
public static bool Save(object obj, string path)
{
try
{
XmlSerializer writer = new XmlSerializer(obj.GetType());
using (var stream = new FileStream(path, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite))
{
writer.Serialize(stream, obj);
}
return true;
}
catch { }
return false;
}
谢谢!
【问题讨论】:
-
我曾经遇到过类似的问题,最终是文件从未完全清理过的错误。它总是留下一块。也许在你写之前删除文件。
-
嗯,有道理,谢谢! :)
-
所以,正如我所料。它几乎从不随机;)。
标签: c# xml serialization