<p>Can anyone recommend a good binary XML format? It's for a JavaME application, so it needs to be a) Easy to implement on the server, and b) Easy to write a low-footprint parser for on a low-end JavaME client device.</p>

<p>And it goes without saying that it needs to be smaller than XML, and faster to parse.</p>

<hr>

<p>The data would be something akin to SVG.</p>

[{'answer_id': 8645, 'author': 'JaanusSiim', 'author_id': 706, 'author_profile': 'https://Stackoverflow.com/users/706', 'pm_score': 1, 'selected': False, 'text': '<p>What kind of data are you planning to use? I would say, that if the server is also done in Java, easiest way for small footprint is to send/receive binary data in predefined format. Just write everything in known order into <code>DataOutputStream</code>.</p>\n\n<p>But it would really depend, what what kind of data are you working on and can you define the format.</p>\n\n<p>Actually you should evaluate, if this kind of optimization is even needed. Maybe you target devices are not <strong>so</strong> limited.</p>\n'}, {'answer_id': 8655, 'author': 'Pat', 'author_id': 238, 'author_profile': 'https://Stackoverflow.com/users/238', 'pm_score': 4, 'selected': True, 'text': '<p>You might want to take a look at <a href="http://en.wikipedia.org/wiki/WBXML" rel="noreferrer">wbxml</a> (Wireless Binary XML) it is optimized for size, and often used on mobile phones, but it is not optimized for parsing speed.</p>\n'}, {'answer_id': 86142, 'author': 'Honza', 'author_id': 8621, 'author_profile': 'https://Stackoverflow.com/users/8621', 'pm_score': 0, 'selected': False, 'text': '<p>It very much depends on the target device. If you have JSR172 available, then you are done with the parsing, the runtime does it for you. And XML is mainly about making your own format. As was alredy stated if your goal is performance, than XML is probably not the best way to go and you will end up doing some binary stuff.</p>\n'}, {'answer_id': 132129, 'author': 'darius', 'author_id': 5896, 'author_profile': 'https://Stackoverflow.com/users/5896', 'pm_score': 2, 'selected': False, 'text': '<p><a href="http://en.wikipedia.org/wiki/Hessian_(protocol)" rel="nofollow noreferrer">Hessian</a> might be an alternative worth looking at. It is a small protocol, well-suited for Java ME applications. </p>\n\n<p>"Hessian is a binary web service protocol that makes web services usable without requiring a large framework, and without learning a new set of protocols. Because it is a binary protocol, it is well-suited to sending binary data without any need to extend the protocol with attachments."</p>\n\n<p>More links:</p>\n\n<p><a href="http://hessian.caucho.com/" rel="nofollow noreferrer">Here</a></p>\n\n<p><a href="http://web.archive.org/web/20100329161201/http://www.nubius.be:80/info-software/hessian4j.html" rel="nofollow noreferrer">Here too</a></p>\n'}]
['https://Stackoverflow.com/questions/8599', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/974/']