在我的应用程序中,XML包含所有数据,有时甚至超过5-10 MB。程序执行期间多次加载和保存文件。虽然它很快但似乎有时文件在变大时会被破坏。我不知道为什么文件被破坏但在所有情况下文件都是5+ MB,所以我假设更大的XML文件变得越容易腐败。所以,请建议一个XML文件压缩/解压缩库
我正在使用代码:
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)))
}
答案 0 :(得分:2)
我们使用http://xceed.com/Zip_Net_Intro.html的zip库,效果很好。
[我与他们无关,我只是在尝试了几个后购买了他们的产品]
我刚刚进行了搜索,这是免费的:http://dotnetzip.codeplex.com/
答案 1 :(得分:1)
在投放到标准压缩器(例如improve the compression of XML with XWRT preprocessing或zlib)之前,您可以显着lzma。