2009-10-15 61 views
2

我需要下載並解壓壓縮(可能是tar + gzip?)到sitemap.xml中的sitemap.xml文件。如何在c#中下載並解壓縮站點地圖gz文件?

從Windows我使用7zip。但請注意,gz包含一個與壓縮文件名稱相同的目錄(可能是由於tar + gx)

我該怎麼做c#?

感謝

+0

如何脫殼而出7Z? – kenny 2009-10-15 15:54:50

回答

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); 

編輯

更乾淨,我們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

我會在使用語句中包裝流,但否則會出現。 – 2009-10-15 16:58:04

+0

好點,但我試圖簡潔。 – 2009-10-15 17:48:01