Estoy trabajando en C# y estoy descargando para Internet un archivo zip con un archivo XML. y deseo cargar este archivo XML. Esto es lo que tengo hasta ahora:Descompresión de una secuencia en C#
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;
}
en document.Load
Siempre estoy poniendo la siguiente excepción:
El número mágico en la cabecera GZip no es correcto. Asegúrate de pasar en una transmisión GZip.
¿Qué estoy haciendo mal?
¿Estás descargando un '' GZip' o una Zip'? Los dos no son lo mismo. – Oded
'zip! = Gzip' - Ver http://en.wikipedia.org/wiki/Gzip y http://en.wikipedia.org/wiki/ZIP_%28file_format%29 – Polynomial
Supongo que este es mi primer error. Es un archivo zip no Gzip. –