Es gibt einige Anwendungsfälle, in denen ein JAXBElement ist erforderlich:
- Ein Element ist sowohl
nillable="true"undminOccurs="0". Was bedeutet in diesem Fallnullauf dem abgebildeten Feld/Eigenschaft bedeuten? Wenn die EigenschaftJAXBElementist ein Nullwert bedeutet, dass das Element nicht vorhanden ist und einJAXBElementWrapping null bedeutet ein XML-Element mitxsi:nil="true". - Es gibt 2 globale Elemente mit demselben benannten komplexen Typ. Da in JAXB Klassen komplexen Typen entsprechen, wird eine Möglichkeit benötigt, um zu erfassen, welches Root-Element angetroffen wurde. Weitere Einzelheiten finden Sie in diesem Artikel Ich habe geschrieben.
- Es gibt eine Auswahlstruktur, in der entweder
foooderbarElemente können vorkommen und sie sind vom gleichen Typ. Hier einJAXBElementist erforderlich, da einfach auf einenStringgestoßen wird -Wert reicht nicht aus, um anzugeben, welches Element gemarshallt werden soll. - Ein Element mit
xsi:nilwird in dem Dokument gefunden, das Attribute enthält. In diesem Beispiel kann das Objekt, das diesem Element entspricht, immer noch entmarshallt werden, um die Attributwerte zu halten, aber JAXBElement kann immer noch angeben, dass das Element null war.