using (var fs = File.OpenWrite(xmlToPath))
{
var xmlSerializer = new XmlSerializer(typeof(T));
xmlSerializer.Serialize(fs, t);
}
生成的xml
<?xml version="1.0"?>
<Equity xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
...中间其他字符...
</Equity>>
尾部加粗的是多出来的字符,可能是>也可能是Equity>
但是做了个demo,循环1000次都没有问题,实际项目里就有问题
大概是原来的文件的尾部,用OpenWrite是覆盖写入的,如果新内容没有原来的长,原来的内容就不会被完全覆盖,改用 File.Create 试试
两个文件内容是一样的,因为是先读取,没修改就保存了,现在的解决办法是保存时先删掉再创建