Есть много библиотек для выполнения этой работы (сериализация и десериализация объектов), одна из самых простых в использовании это XStream , здесь пример использования:
Person joe = new Person("Joe", "Walnes");
joe.setPhone(new PhoneNumber(123, "1234-456"));
joe.setFax(new PhoneNumber(123, "9999-999"));
Теперь вы можете просто запустить String xml = xstream.toXML(joe);
, и результат будет:
<person>
<firstname>Joe</firstname>
<lastname>Walnes</lastname>
<phone>
<code>123</code>
<number>1234-456</number>
</phone>
<fax>
<code>123</code>
<number>9999-999</number>
</fax>
</person>
Чтобы вернуть объект обратно Person newJoe = (Person)xstream.fromXML(xml);
Другим возможным вариантом может быть JAXB , из wikipedia :
Архитектура Java для привязки XML
(JAXB) позволяет разработчикам Java отображать
Классы Java в представлениях XML.
JAXB предоставляет две основные функции:
способность маршалировать объекты Java в
XML и обратное, то есть демаршал
XML обратно в объекты Java. В других
словами, JAXB позволяет хранить и
извлечение данных в памяти в любом XML
формат, без необходимости реализации
определенный набор загрузки XML и
сохранение подпрограмм для программы
классовая структура. Это похоже на
xsd.exe и xmlserializer в .Net
Framework.
Но, как по мне, большинство задач можно выполнить с помощью XStream, которая легче и проще (imho)