Как скачать и распаковать файл gz карты сайта в c #?

2

Мне нужно загрузить и распаковать файл sitemap.xml, сжатый (возможно, tar + gzip?) в файл sitemap.xml.gz

Из Windows я использую 7zip. Но учтите, что gz содержит каталог с тем же именем zipped файла (возможно, из-за tar + gx)

Как я могу сделать в С#?

Спасибо

  • 0
    Как насчет обстрела 7z?
Теги:
gz

1 ответ

5
Лучший ответ

Используйте класс 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);
}
  • 0
    Я бы обернул потоки в использование операторов, но в противном случае на месте.
  • 0
    Хороший вопрос, но я пытался быть кратким.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню