Question: I'm encoding a short integer with value 0 and XMLEncoder does not encode it.

How can I force it?

Answer: 
XMLEncoder does not encode *default* values. It saves space. It works.
I switched to another library: XStream (<http://x-stream.github.io/>)

Much simpler and it works.