用于c# / . net的XML压缩/解压库

本文关键字:压缩 net 用于 XML | 更新日期: 2023-09-27 18:18:41

在我的应用程序中,XML包含所有数据,有时超过5-10 MB。该文件在程序执行期间被加载和保存多次。虽然,它是快速的,但它似乎有时文件损坏,当它变得大的大小。我不知道为什么文件会损坏,但在所有情况下,文件都是5+ MB,所以我假设XML文件越大,就越容易损坏。所以,请建议一个XML文件压缩/解压缩库

  1. 最好是流行的压缩,如zip/lzw/7zip/rar等。
  2. 必须快。例如,以最快的压缩级别压缩/解压缩一个10mb的文件并牺牲空间的时间不应该超过100毫秒。
  3. 易于集成。

我正在使用代码:

XMLDocument.Load(XML_File.xml)
XMLDocument.Save(XML_File.xml)

所以我想要这样写:

XMLDocument.Load(Library.Load(XML_File.zip))
Library.Save(XMLDocument)

我希望这能解决我的上述问题。还有其他选择吗?

我在想一个更多的解决方案:如果你已经使用了winrar,你会注意到,它有选项,在一个。rar文件中添加恢复记录,这样,如果文件被损坏,那么它可以使用恢复记录进行修复。我可以在c#编程的XML文件中使用类似的东西吗?如:

try{ 
XMLDocument.Load(Library.Load(XML_File.zip))
}
catch{ 
XMLDocument.Load(Library.Load(Library.File_Recover(XML_File.zip))) 
}

用于c# / . net的XML压缩/解压库

我们使用来自http://xceed.com/Zip_Net_Intro.html的zip库,它工作得很好。

[我和他们没有关系,我只是试了几次后才买了他们的产品]

我刚刚做了一个搜索,这是一个免费的:http://dotnetzip.codeplex.com/

在提供给标准压缩器(如zlib或lzma)之前,使用XWRT预处理可以显著改善XML的压缩。