-1

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

  1. 最好是流行的压缩,如 zip/lzw/7zip/rar 等。
  2. 这必须很快。例如,以最快的压缩级别压缩/解压缩 10 MB 文件并牺牲空间应该不超过 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))) 
}
4

2 回答 2

2

我们使用来自http://xceed.com/Zip_Net_Intro.html的 zip 库,它运行良好。

[我与他们无关,我只是尝试了几次后购买了他们的产品]

我刚刚搜索了一下,这里有一个免费的:http ://dotnetzip.codeplex.com/

于 2013-06-16T13:54:11.633 回答
1

在输入标准压缩器(如zliblzma )之前,您可以使用 XWRT 预处理显着改进 XML 的压缩。

于 2013-06-16T18:23:00.287 回答