Hallo Andreas,
deine erste Frage hast du dir schon fast selbst beantwortet: nimmst du das Document als Parameter für die Serialisierung, dann wirst du Probleme beim Speichern von Substrukturen und endlich rekursiven Strukturen bekommen.
DOM oder
SAX? Das Document Object Model bietet dir Zugriffsmethoden und einfache Transformationsmöglichkeiten, baut aber seinen Content komplett im Hauptspeicher auf. Der
SAX-Parser arbeitet mit einer Ereignis-Schnittstelle und kann
XML-Dokumente im streaming mode verarbeiten. Da deine Daten bereits eine interne Repräsentation besitzen, wäre ein
DOM-Document nur eine weitere Darstellung und damit Speicherverschwendung - es sei denn du nutzt die
DOM features irgendwie.
Grüße vom marabu