.Net序列化输出额外的>有时候在xml文档的末尾

时间:2013-06-11 14:08:25

标签: c# xml-serialization

我有一个简单的ObjectToSerialize settings作为参数传递给一个名为PersistSettings的方法(对于引用,ObjectToSerialize只有一个属性 - 一个dateTime属性)

在那个PersistSettings方法中,我有代码来序列化ObjectToSerialize对象,如下所示

var serializer = new XmlSerializer(typeof(ObjectToSerialize));
using (var stream = File.OpenWrite(filePath))
{
     serializer.Serialize(stream, settings);
}

持续存在的xml无效。它总是以同样的方式无效 - 额外的>在文件的最后。所以我得到了:

<?xml version="1.0"?>
<ObjectToSerialize xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Item>Important piece of data</Item>
</ObjectToSerialize>>

当我尝试读取xml时,我得到一个InvalidOperationException(如预期的那样)。幸运的是,如果需要,可以重新生成存储在设置中的数据,这样我就可以删除文件并再次保存(但不是在它保存副本之前,我可以尝试解决问题所在)

该问题似乎与被捕获或记录的任何其他错误或问题无关。

有人有任何想法吗?或者甚至曾经见过这个?

0 个答案:

没有答案