【发布时间】:2011-06-18 02:10:05
【问题描述】:
我正在使用 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 文件。
存储库是通过using() 打开的,它的Dispose 调用SaveFile() 为每个需要保存的xml 文件。然后它调用zip.Save(),然后调用zip.Dispose()。
我哪里错了?
PS 我使用的是 .NET 3.5,所以我不能使用 XElement.Save(stream)
【问题讨论】: