Verwenden Sie den Stiltyp JAXB XMLAnyElement, um dynamische Elementnamen zurückzugeben

Ich habe viele Antworten in diesen Foren sowie in anderen Blog-Posts gelesen, aber ich kann die Teile scheinbar nicht ganz miteinander verbinden.

Wir beginnen also mit einem einfachen POJO mit Map-Eigenschaften. Es ist gut bekannt, wie man dies verpackt, aber das bringt einen gewissen Wert. Ich suche nach dem Namen (a.k.a. label) und mache es zu einem gültigen XML-Attribut. Also würden wir etwas Wert bekommen.

Ich habe ein Beispiel gefunden (wird verlinkt, wenn ich es wiederfinde):

@XmlAnyElement
public List<JAXBElement<String>> getXmlProperties() {
   List<JAXBElement<String>> elements = new ArrayList<JAXBElement<String>>();
   for (Map.Entry<String, String> property: properties.entrySet()) 
      elements.add(new JAXBElement<String>(new QName(property.getKey()), 
      String.class, property.getValue()));
      return elements;
}

Dies hat perfekt funktioniert, aber ich hatte dies in meiner Bean / Pojo-Klasse, die mit einem GWT-Frontend geteilt wird, und kann daher keine Verweise auf JAXBElement und QName (Quellcode erforderlich) enthalten.

Gibt es eine Möglichkeit, mit etwas wie dem XmlAdapter und dem JAXBElement / QName / XmlAnyElement-Dream-Team ein ähnliches Ergebnis zu erzielen? Übrigens benutze ich RESTEasy, wenn das überhaupt zählt.

Hier ist der Forumsbeitrag mit dem @ XmlAnyElement + JAXBElement:Dynamische Tagnamen mit JAXB

Antworten auf die Frage(2)

Ihre Antwort auf die Frage