Я пытаюсь маршалировать подкласс как суперкласс с помощью информации xsi: type в качестве атрибутов корневого элемента XML.
В настоящее время это то, что у меня есть (скажем, ..):
- XMLDOCUMENTTYPE является суперклассом XMLINVOICETYPE
- маршалинг XMLINVOICETYPE даст мне
<xmlInvoiceType>
- приведение экземпляра XMLINVOICETYPE к экземпляру XMLDOCUMENTTYPE, а затем маршалинг 101 все равно даст мне **
- Создание объекта-оболочки, аннотированного JAXB-аннотацией, похоже, помогает, но теперь мне нужно захватить первый дочерний узел
, например:
jaxbWrapper.setXmlDocumentType(xmlInvoiceTypeInstance);
// выполнит трюк, но дополнительный root
Я хотел бы получить следующее:
<XMLDOCUMENTTYPE ... ... xsi:type="XML_INVOICE_TYPE">
</XMLDOCUMENTTYPE>
Есть идеи, как это сделать?