В моем приложении XML содержит все данные и иногда превышает 5-10 МБ. Файл загружается и сохраняется многократно во время выполнения программы. Хотя, это быстро, но иногда кажется, что файл становится поврежденным, когда он становится большим по размеру. Я не знаю, почему файл поврежден, но во всех случаях файл был 5+ МБ, поэтому я предполагаю, что больший XML-файл становится, тем более восприимчивым к коррупции. Поэтому, пожалуйста, предложить XML файл библиотеки сжатия/декомпрессииБиблиотека сжатия/декомпрессии XML для C#/.NET
- предпочтительно популярных сжатий, как почтовый/LZW/7zip/RAR и т.д.
- , который должен быть быстрым. например, для сжатия/распаковки файла размером 10 МБ на максимальном уровне сжатия он должен принимать не более 100 мс и жертвовать пространством.
- легко интегрировать.
Я использую код:
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)))
}
Любое предложение по второй части вопроса: восстановление файла? –
Я не уверен, что вы имеете в виду о выздоровлении? не знакомы с этим? –
Это функция в программном обеспечении сжатия «winrar», которая восстанавливает/исправляет поврежденный zip-файл, если он не открывается. В любом случае, я буду использовать те, которые вы упомянули. Однако функция восстановления была бы дополнительным преимуществом. –