2008-08-12 3 views
8

Может ли кто-нибудь рекомендовать хороший двоичный XML-формат? Это приложение JavaME, поэтому оно должно быть: a) легко реализуется на сервере и b) легко писать парсер с низким уровнем следа на низкоуровневом клиентском устройстве JavaME.Лучший двоичный формат XML для JavaME

И само собой разумеется, что он должен быть меньше, чем XML, и быстрее разбираться.


Данные были бы чем-то похожим на SVG.

ответ

5

Возможно, вы захотите взглянуть на wbxml (Wireless Binary XML), он оптимизирован для размера и часто используется на мобильных телефонах, но не оптимизирован для синтаксического анализа.

1

Какие данные вы планируете использовать? Я бы сказал, что, если сервер также выполнен на Java, самым простым способом для малого размера является отправка/получение двоичных данных в предопределенном формате. Просто напишите все в известном порядке в DataOutputStream.

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

На самом деле вам следует оценить, требуется ли такая оптимизация. Возможно, вы нацеливаете устройства не так ограничено.

0

Это очень зависит от целевого устройства. Если у вас есть JSR172, тогда вы закончите с синтаксическим разбором, время выполнения сделает это за вас. И XML в основном касается создания собственного формата. Как было сказано alredy, если ваша цель - производительность, чем XML, вероятно, не лучший способ пойти, и вы в конечном итоге будете делать несколько бинарных файлов.

3

Hessian Возможно, альтернативный вариант стоит посмотреть. Это небольшой протокол, хорошо подходящий для приложений Java ME.

«Hessian - это бинарный протокол веб-сервисов, который позволяет использовать веб-службы без необходимости использования большой структуры и без изучения нового набора протоколов. Поскольку это двоичный протокол, он хорошо подходит для отправки двоичных данных без каких-либо необходимо расширить протокол с помощью вложений ».

Другие ссылки:

http://hessian.caucho.com/

http://www.nubius.be/info-software/hessian4j.html

+1

Мы использовали, что в TomTom, а также. Однако есть одна проблема: реализация ME в Hessian не совпадает с реализацией Гессиана SE/EE. Есть немало недостающих вещей, поэтому не ожидайте бинарной совместимости во всех случаях. – 2009-10-21 06:36:56

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