Es gibt einige mögliche Ansätze:
1. Verwenden Sie ein XMLAdapter
Sie JAXB nutzen konnte XMLAdapter Jahren. Hier würden Sie eine Version der Klassen mit dem zusätzlichen Feld erstellen (die angepassten Klassen könnten das Original erweitern). Dann wandle zwischen ihnen im Adapter um. Da die alternative Version der Klasse das zusätzliche Feld enthalten würde, würde sie herausmarschieren.
2. Verwenden Binder
Wenn Sie Marschall Ziel DOM ist, nutzen Sie könnten dann Binder JAXB. Es ist für die Erhaltung von Infosets gedacht, aber nach einem Marshal hält es eine Verbindung zwischen den Objekten und den DOM-Knoten aufrecht. Sobald der Marshal vollendet ist, können Sie den Ordner verwenden, um den zugehörigen Knoten eines Objekts zu finden und zu aktualisieren.
3. Wickeln Sie das Ausgabeziel
Wenn Ihr Ausgabeziel so etwas wie ein Content oder XMLStreamWriter ist dann, wenn der entsprechende Zustand erreicht ist Sie zusätzliche Ereignisse auslösen könnte zu sein rief das verschachtelte Marshaltziel auf.
Auf welchen Objekttyp (StAX, SAX, DOM, Stream) wird das XML gerendert? Ist der zusätzliche Inhalt auf der Grundlage der Objektdaten oder getrennt wie ein Zeitstempel oder Autor? –
Ich marshalle Java-Objekte in XML wahrscheinlich mit DOM, aber noch nicht entschieden. Der zusätzliche Inhalt ist etwas außerhalb des Objekts, ist ein neues Feld, das angibt, ob sich das Objekt geändert hat. –