Мне нужно загрузить и распаковать файл sitemap.xml, сжатый (возможно, tar + gzip?) в файл sitemap.xml.gz
Из Windows я использую 7zip. Но учтите, что gz содержит каталог с тем же именем zipped файла (возможно, из-за tar + gx)
Как я могу сделать в С#?
Спасибо
Используйте класс GZip Stream, чтобы распаковать XML-документ.
Что-то вроде:
var file = File.Open("C:\test.xml.gz", FileMode.Open);
var zip = new GZipStream(file, CompressionMode.Decompress);
var doc = new XmlDocument();
doc.Load(zip);
Edit
Чтобы быть более чистым с нашими IDisposables:
var doc = new XmlDocument();
using(var file = File.Open("C:\test.xml.gz", FileMode.Open))
using(var zip = new GZipStream(file, CompressionMode.Decompress))
{
doc.Load(zip);
}