2 Stimmen

Können Sie mehrere Sätze von JAXB-Annotationen haben, um in verschiedene XML zu konvertieren / zu konvertieren?

Wir haben einige Entitäten mit JAXB-Annotationen, damit wir bestimmtes 'eingehendes' XML in Pojo entpacken können. Jetzt müssen wir die Pojos in XML verpacken, aber in einem anderen Format als das eingehende XML. Wie können wir das am besten machen?

0voto

HZhang Punkte 166

Meine Lösung besteht darin, ein zusätzliches "Version" -Feld im JAXB-Objekt zu verwenden, um mehrere Versionen von Bindungen zu unterscheiden. Normalerweise verwende ich ein Enum als Typ, d.h., enum Version {V1, V2, ...};

Also für ein spezifisches XML-Elementfeld definiere ich die getField() -Methode als

@XmlElement
public String getField() {
    if (version == Version.V1) {
        return field;
    } else if (version == Version.V2) {
        return null; // versteckt
    }
}

Vor dem Marshalling muss man nur den Version-Wert auf den gewünschten Enum-Wert setzen, und JAXB kümmert sich um den Rest.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X