Я не могу дать сводку всех доступных опций, но недавно я использовал jaxb , чтобы сделать обратное (java to xml), и это было просто и легко в использовании.Поскольку jaxb также поддерживает xml для java, как описано здесь , я бы посоветовал взглянуть на это.он основан на аннотациях и Java-бинах (или pojos) - вы просто указываете, какие атрибуты соответствуют элементам с атрибутами, и он делает все остальное.
если у вас есть схема, она будет генерировать классы Java для вас.альтернативно, вот пример работы без схемы .
ps в соответствии с комментариями в последней ссылке, вам даже не нужно комментировать, если имена соответствуют xml!