压缩XML的最佳方法

Mat*_*tan 11 c#

我需要将一个非常大的xml文件压缩到尽可能小的大小.

我在C#工作,我更喜欢它是一些我可以通过我的代码访问的开源或应用程序,但我也可以处理一个算法.

谢谢!

Ken*_*art 10

它可能不是"可能的最小尺寸",但您可以使用它System.IO.Compression来压缩它.压缩倾向于为文本提供非常好的压缩.

using (var fileStream = File.OpenWrite(...))
using (var zipStream = new GZipStream(fileStream, CompressionMode.Compress))
{
    zipStream.Write(...);
}
Run Code Online (Sandbox Code Playgroud)


小智 6

如上所述,高效XML交换(EXI)可以非常一致地实现最佳的XML压缩.即使没有架构,EXI也比拉链小2-5倍并不少见.使用模式,你会做得更好.

如果您不反对商业实现,则可以使用.NET版本的Efficient XML,并使用标准.NET API直接从C#代码中调用它.您可以从http://www.agiledelta.com/efx_download.html下载免费试用版.


Ode*_*ded 2

XML 具有高度可压缩性。您可以使用DotNetZip从 XML 生成压缩的 zip 文件。