Unzipping a Stream in C#

Я работаю на C#, и я загружаю из Интернета zip-файл с одним XML-файлом в нем. и я хочу загрузить этот XML-файл. Вот что у меня пока получается:

byte[] data;
WebClient webClient = new WebClient();
try {
    data = webClient.DownloadData(downloadUrl);
}
catch (Exception ex) {
    Console.WriteLine("Error in DownloadData (Ex:{0})", ex.Message);
    throw;
}

if (data == null) {
    Console.WriteLine("Bulk data is null");
    throw new Exception("Bulk data is null");
}

//Create the stream
MemoryStream stream = new MemoryStream(data);
XmlDocument document = new XmlDocument();

//Gzip
GZipStream gzipStream = new GZipStream(stream, CompressionMode.Decompress);

//Load report straight from the gzip stream
try {
    document.Load(gzipStream);
}
catch (Exception ex) {
    Console.WriteLine("Error in Load (Ex:{0})", ex.Message);
    throw;
}

in document.Load Я постоянно получаю следующее исключение:
Магическое число в заголовке GZip неверно. Убедитесь, что вы передаете поток GZip.

Что я делаю не так?

8
задан Willem Van Onsem 25 January 2015 в 13:42
поделиться