大脑冻结与gzip文件,包含XML文件,我想作为一个流
本文关键字:文件 一个 冻结 gzip 包含 XML | 更新日期: 2023-09-27 18:15:54
这是烤我的头,我需要一个XML提要,但提要是在一个gzip文件。现在我可以下载,解包,保存文件等等
,但我想做的是得到内存中的gzip将内容存入存储器将内容读入内存然后将其传递给序列化器
这里的问题是结果包含不可读的乱码,而reader1和reader都不包含乱码。这里我又少了一行,但似乎找不到它是什么。
var request = (HttpWebRequest)HttpWebRequest.Create("urltofeed.com");
request.Credentials = CredentialCache.DefaultCredentials;
// auto unpack gzip
request.AutomaticDecompression = DecompressionMethods.GZip;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader data = new StreamReader(response.GetResponseStream());
var result = data.ReadToEnd();
XmlReader reader1 = XmlReader.Create(response.GetResponseStream());
var reader = new XmlTextReader(response.GetResponseStream());
直接来自MSDN:
//Create the decompressed file.
using (FileStream outFile = File.Create(origName))
{
using (GZipStream Decompress = new GZipStream(inFile,
CompressionMode.Decompress))
{
// Copy the decompression stream
// into the output file.
Decompress.CopyTo(outFile);
Console.WriteLine("Decompressed: {0}", fi.Name);
}
}
比如
using (var GZipStream decompress = new GZipStream(response.GetResponseStream(), CompressionMode.Decompress))
{
// XmlReader reader1 = XmlReader.Create(decompress);
// or ? var reader = new XmlTextReader(decompress);
}
您必须解压缩gzip-file,这一步缺失了。试试这个:GZipStream并解压