繁体   English   中英

用于C#/ .NET的XML压缩/解压缩库

[英]XML compression/decompression library for C# / .NET

在我的应用程序中,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))) 
}

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

[我不隶属于他们,我只是尝试了几次之后才购买了他们的产品]

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

在馈送给标准压缩程序(例如zliblzma)之前,您可以使用XWRT预处理显着改善XML的压缩。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM