.NET реализация эффективного XML

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

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

5 ответов

Решение

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

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

Nagasena имеет как.Net (написанная на C#), так и Java-реализацию спецификации EXI.

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

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

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

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

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

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

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

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

Другие вопросы по тегам