Parto de que JDOM nunca lo he utilizado porque hay alternativas más cómodas y apropiadas para lo que yo uso (Xstream, JAXB).
El problema está en la forma en que JDOM trata los namespace ya que todos tus elementos tienen namespace, así que si no se lo indicas él asume que su namespace es el xmlns="" (no tiene).
Así que o añades el namespace a todos los elementos
Cita: Namespace namespace = Namespace.getNamespace("http://......");
Element accessModeObject= new Element("accessModeObject", namespace);
Element accessMode = new Element("accessMode",namespace);
o añades un prefijo al namespace de forma que JDOM interpreta que todos los elementos en su interior pertecen al mismo namespace.
Cita: Namespace namespace = Namespace.getNamespace("kk","http://......");
Da como resultado
Cita: <?xml version="1.0" encoding="UTF-8"?>
<kk:accessModeObject xmlns:kk="http://......">
<accessMode>
<size>3</size>
</accessMode>
</kk:accessModeObject>