2012-11-03 44 views
0

我收到服務器的.zip文件。
.zip文件發送64Base編碼,它包含一個XML文件。C#將字節數組保存爲xml文件

當我使用Convert.FromBase64String將數據解碼爲二進制數據後,我可以將字節數組轉換爲XML嗎?

我不想處理解壓縮。

我嘗試下面的代碼:(即導致廢話,它沒有任何意義,不會像XML在所有)

XmlDocument doc = new XmlDocument(); 
string xml = Encoding.UTF8.GetString(buffer); 
doc.LoadXml(xml); 

任何想法?

回答

2

你說你不想解壓縮,但你是否確實意味着你不想解壓縮到光盤?大多數zip庫允許您將文件直接解壓縮到字節數組或將其傳遞到可將其傳遞給MemoryStream的流。

有沒有得到解決不得不解壓縮。除非您可以控制服務器端,否則可以將格式更改爲未壓縮的文件(如tar文件)。那麼你不需要解壓縮。

+0

謝謝!我的意思是我不想將其解壓縮到光盤... – Sash

1

你說:

我收到從服務器的.zip文件。

和:

我不想對付解壓。

好吧。你必須。如果數據在zip存檔中,則需要先提取它。你不能忽視這個事實。

有大量的zip庫 - sharpziplib是免費且容易使用。

+0

感謝您的zip庫! – Sash

+0

@Sash - 沒問題。由於它處理'Stream's,因此可以使用'MemoryStream'來直接在內存中管理解壓縮。 – Oded