XStream: wie Marschall/unmarshal-Listen in einem eigenen Wandler?
Habe ich die folgende Klasse (ältere Version; nicht annotatable), die serialisiert wird mit einem benutzerdefinierten Konverter:
class Test {
//some other variables
List<SomeType> someTypeList;
}
Einem gut funktionierenden Konverter für SomeType ist bereits verfügbar. Aber ich will die Liste serialisiert werden, als ob es wurde kommentiert mit @XStreamAlias("someTypes").
Ich am Ende erwarten, dass Sie das folgende format für someTypeList:
<someTypes class="list-type">
<someType>
....
</someType>
...
</someTypes>
Wie muss ich die Umsetzung der Marschall/unmarshal-Methode, um die gewünschte Ausgabe erhalten? Aufrufenden Kontext.convertAnother(someTypeList) nicht Ausbeute das erwartete Ergebnis als die umliegenden <someTypes>
tag fehlte.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Weise, um die Struktur:
Betrachten Sie den folgenden code. Für Ihre Liste, die Sie benötigen, um tag:
Nun, je nachdem, was Sie haben im inneren, müssen Sie möglicherweise erstellen Sie eine benutzerdefinierte Konverter. Zu Lesen, dass Sie sich ein bisschen ändern, wie diese:
Dann erstellen Sie eine Konverter-Klasse (
YourOwnConverter
), der würde wissen, wie un/Marschall:Verwenden Sie diese als Beispiel:
http://x-stream.github.io/converter-tutorial.html
Gibt es eine addImplicitCollection aufgerufen, das xstream-Objekt bei der Konfiguration irgendwo was bewirkt, dass die someTypes tag übersprungen werden ?