Привет, All!
Не могу понять в чем дело. Есть файл xml, запакованный в gz.
Пытаюсь загрузить его в XmlDocument через FileStream.
Так не работает (отсутствует корневой элемент):
OpenFileDialog ofd = new OpenFileDialog();
ofd.ShowDialog();
Stream file = ofd.OpenFile();
FileStream decompressed = new FileStream(ofd.FileName + ".tmp", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.Read);
using (GZipStream gzs = new GZipStream(file, CompressionMode.Decompress))
{
gzs.CopyTo(decompressed);
gzs.Close();
}
XmlDocument doc = new XmlDocument();
doc.Load(decompressed);
А так работает:
OpenFileDialog ofd = new OpenFileDialog();
ofd.ShowDialog();
Stream file = ofd.OpenFile();
FileStream decompressed = new FileStream(ofd.FileName + ".tmp", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.Read);
using (GZipStream gzs = new GZipStream(file, CompressionMode.Decompress))
{
gzs.CopyTo(decompressed);
gzs.Close();
}
decompressed.Close();
decompressed.Dispose();
decompressed = new FileStream(ofd.FileName + ".tmp", FileMode.Open);
XmlDocument doc = new XmlDocument();
doc.Load(decompressed);
В чем может быть проблема первого варианта?