2013-06-16 2 views
-1

В моем приложении XML содержит все данные и иногда превышает 5-10 МБ. Файл загружается и сохраняется многократно во время выполнения программы. Хотя, это быстро, но иногда кажется, что файл становится поврежденным, когда он становится большим по размеру. Я не знаю, почему файл поврежден, но во всех случаях файл был 5+ МБ, поэтому я предполагаю, что больший XML-файл становится, тем более восприимчивым к коррупции. Поэтому, пожалуйста, предложить XML файл библиотеки сжатия/декомпрессииБиблиотека сжатия/декомпрессии XML для C#/.NET

  1. предпочтительно популярных сжатий, как почтовый/LZW/7zip/RAR и т.д.
  2. , который должен быть быстрым. например, для сжатия/распаковки файла размером 10 МБ на максимальном уровне сжатия он должен принимать не более 100 мс и жертвовать пространством.
  3. легко интегрировать.

Я использую код:

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

Так что я хочу что-то вроде:

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

Я надеюсь, что это решает мою вышеуказанную проблему. Любая другая альтернатива?

Я думаю о еще одном решении: если вы использовали winrar, вы заметите, что он имеет возможность добавить запись восстановления в файл .rar, чтобы, если файл получил коррумпированный, его можно исправить с помощью записи восстановления. Что-нибудь подобное, что я могу использовать в XML-файлах на C# программно? как:

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

ответ

2

Мы используем библиотеку зип из http://xceed.com/Zip_Net_Intro.html, он работает хорошо.

[Я не связан с ними, я только что купил их продукт после попытки несколько]

Я просто сделал поиск, здесь бесплатно один: http://dotnetzip.codeplex.com/

+0

Любое предложение по второй части вопроса: восстановление файла? –

+0

Я не уверен, что вы имеете в виду о выздоровлении? не знакомы с этим? –

+0

Это функция в программном обеспечении сжатия «winrar», которая восстанавливает/исправляет поврежденный zip-файл, если он не открывается. В любом случае, я буду использовать те, которые вы упомянули. Однако функция восстановления была бы дополнительным преимуществом. –

Смежные вопросы