Es gibt einige Anwendungsfälle, in denen ein JAXBElement
ist erforderlich:
- Ein Element ist sowohl
nillable="true"
undminOccurs="0"
. Was bedeutet in diesem Fallnull
auf dem abgebildeten Feld/Eigenschaft bedeuten? Wenn die EigenschaftJAXBElement
ist ein Nullwert bedeutet, dass das Element nicht vorhanden ist und einJAXBElement
Wrapping 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
foo
oderbar
Elemente können vorkommen und sie sind vom gleichen Typ. Hier einJAXBElement
ist erforderlich, da einfach auf einenString
gestoßen wird -Wert reicht nicht aus, um anzugeben, welches Element gemarshallt werden soll. - Ein Element mit
xsi:nil
wird 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.