Я использую 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)