Как я могу сжать коллекцию XMLDocuments и сохранить ее в каталоге в C # - PullRequest
1 голос
/ 08 ноября 2019

Я подписываю документы с помощью digital signature и добавляю их к collection из XmlDocs.

Я не хочу их нигде сохранять, просто заархивируйте их, если их больше 1 XML doc или сохраните XML в папке.

Теперь я рассмотрел ZipFile, который исходит от System.Io.Compression, но он принимает только строки, являющиеся источником и назначением.

Длянемного пояснения вот мой код:

var xmlDocsSigned = new List<XmlDocument>();

foreach (var document in documents)
{                
   XmlDocument doc = new XmlDocument();
// logic that Generate XML from object and load it to that XML.
// logic that signs the XML
}

xmlDocsSigned.Add(doc);

До сих пор я делал это с помощью сохранения XML files и архивирования папки, но я не хочу, чтобы они сохранялись где-либо, так как мне нужен только zip. Если это только один XML, то, конечно, он будет сохранен.

Знаете ли вы какие-либо библиотеки с открытым исходным кодом, которые могут помочь мне достичь этого?

Ответы [ 2 ]

1 голос
/ 08 ноября 2019

ZipArchive может быть дроидом, которого вы ищете. Это позволяет вам обрабатывать ZipFiles так же, как папка / как Windows, начиная с Vista.

Интересный факт: текущие форматы Office - это немного больше, чем файлы XML в переименованном контейнере ZIP. Фактически возможно обработать их с этим классом и XML. Конечно, правильный SDK все же лучше, но я бы хотел указать на его факт в пользу новых форматов.

1 голос
/ 08 ноября 2019

Для этого есть несколько библиотек. Одним из наиболее популярных способов использования zip является библиотека DotNetZip DotNetZip

Просто посмотрите на веб-сайт, чтобы узнать, что вы можете делать с файлами XML!.

примеры для архивирования !, узнайте здесь DotNetZip - C # Примеры

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...