Если это просто для отладки или если вы хотите какую-то базовую сериализацию, взгляните на XStream .Вот пример с их сайта, говорящий о собственных ссылках, в частности ...
Cd bj = new Cd("basement_jaxx_singles");
List order = new ArrayList();
// adds the same cd twice (two references to the same object)
order.add(bj);
order.add(bj);
// adds itself (cycle)
order.add(order);
XStream xstream = new XStream();
xstream.alias("cd", Cd.class);
System.out.println(xstream.toXML(order));
И вывод ...
<list>
<cd>
<id>maria rita</id>
</cd>
<cd>
<id>basement_jaxx_singles</id>
</cd>
<cd reference="../cd[2]"/>
<list reference=".."/>
</list>