2012-11-03 43 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