将压缩xmldocument转换为zip并获取为字节数组

时间:2019-10-24 17:05:11

标签: c# xml zip

我正在内存中构建XmlDocument(我没有将其写入磁盘)。我需要能够创建一个包含Xml文件的zip存档,然后将zip存档作为字节数组获取(所有这些都无需实际在硬盘上进行写/创建操作)。这可能吗?

我应该提到我正在尝试使用C#进行此操作。

1 个答案:

答案 0 :(得分:2)

var buffer = new MemoryStream();
using (buffer)
using (var zip = new ZipArchive(buffer, ZipArchiveMode.Create) )
{
    var entry = zip.CreateEntry("content.xml", CompressionLevel.Optimal);
    using (var stream = entry.Open())
    {
        xmlDoc.Save(stream);
    }                
}
var bytes = buffer.ToArray();