我正在使用 zip 文件作为 xml 文件的存储库,并且正在尝试保存/更新文件。
我有,
protected override void SaveFile()
{
MemoryStream ms = new MemoryStream();
var sr = new StreamWriter(ms);
table.Save(sr); // XElement table is filled elsewhere
ZipEntry entry = Repository.zip.Entries.FirstOrDefault(z => z.FileName == path);
if (null == entry)
Repository.zip.AddEntry(path, ms);
else
Repository.zip.UpdateEntry(path, ms);
}
但结果我得到了一个空的 xml 文件。
存储库是通过 a 打开的,它对每个需要保存的 xml 文件进行using()
Dispose 调用。SaveFile()
然后它调用zip.Save()
然后zip.Dispose()
。
我哪里错了?
PS我正在使用.NET 3.5,所以我不能使用 XElement.Save(stream)