.NET реализация эффективного XML - PullRequest
11 голосов
/ 24 февраля 2012

Я экспортирую большие базы данных в формат xml.Эти данные XML должны быть сжаты в минимально возможный формат.Я много слышал об Efficient XML (EXI) и задавался вопросом, была ли реализация .NET, чтобы его можно было вызывать из кода ...

У кого-нибудь есть пример этого, поскольку онлайн-ресурсы кажутсябыть немного разреженным ...

Ответы [ 5 ]

3 голосов
/ 21 марта 2014

Нагасена имеет реализации .Net (написанные на C #) и Java в спецификации EXI.

3 голосов
/ 24 февраля 2012

Такая реализация существует.Компания, которая создала предшественника формата Efficient XML Interchange (AgileDelta) , предлагает библиотеку Efficient XML , включающую версию .Net.Хотя, похоже, они не публикуют цену.

Официальный сайт EXI не содержит никакой другой реализации .Net.

2 голосов
/ 16 декабря 2013

Оказывается, Microsoft создала свой собственный двоичный XML-формат / кодировку под названием MC-NBFX (броский, да).Это часть .NET Framework и WCF начиная с .NET 3.0.Для получения дополнительной информации см .:

Другой вариант - запустить реализацию Java через IKVM для создания.Net сборка.Я могу найти следующие реализации с открытым исходным кодом:

0 голосов
/ 23 декабря 2013

Двоичный XML - это путь (и есть некоторая его реализация), если вам нужно приклеить к стандарту XML.

JSON, даже не будучи XML, будет потерян с числами. Например, 32-битное значение без знака в максимальном значении будет представлено 10 байтами в формате JSON. Почти во всех двоичных форматах это будет 4 байта. Это будет применяться к дате / времени и т. Д.

Любой приличный двоичный XML, который имеет стандартные типы элементов / атрибутов, должен давать гораздо лучший размер и эффективность обработки. Если он может повторно использовать теги, например словарь в сжатом файле, когда вы экспортируете из таблицы, это тоже будет хорошая возможность.

0 голосов
/ 20 декабря 2013

Есть ли причина, по которой вы хотите самый маленький формат?XML на самом деле не предназначен для оптимизации сжатия.@ Ответ Свика на данный момент является де-факто, если вам нужны легко доступные архивы.

Здесь вы можете найти много вопросов, которые вы просите: Лучший алгоритм сжатия для XML?

EXI отлично подходит, если вам нужны архивные данные, к которым будет регулярно обращаться.В противном случае, если ваша цель - архивирование на длительный период, просто используйте утилиту zip.ПОЦЕЛУЙ.

...