Il existe quelques cas d'utilisation où un élément JAXBElement
est requis :
- Un élément est à la fois
nillable="true"
etminOccurs="0"
. Dans ce cas, qu'est-ce quenull
sur le terrain cartographié/la propriété signifie ? Lorsque la propriété estJAXBElement
une valeur nulle signifie que l'élément n'est pas présent et unJAXBElement
envelopper null signifie un élément XML avecxsi:nil="true"
. - Il y a 2 éléments globaux avec le même type complexe nommé. Étant donné que dans JAXB, les classes correspondent à des types complexes, un moyen est nécessaire pour capturer quel élément racine a été rencontré. Pour plus de détails, consultez cet article J'ai écrit.
- Il existe une structure de choix où soit
foo
oubar
éléments peuvent se produire et ils sont du même type. Ici unJAXBElement
est nécessaire car la simple rencontre d'uneString
la valeur n'est pas suffisante pour indiquer quel élément doit être marshalé. - Un élément avec
xsi:nil
est rencontré dans le document qui contient des attributs. Dans cet exemple, l'objet correspondant à cet élément peut toujours être désorganisé pour contenir les valeurs d'attribut, mais JAXBElement peut toujours indiquer que l'élément était nul.