[英]Maven jaxb generate plugin to read xsd files from multiple directories
[英]JAXB multiple xsd
我有兩個通過JAXB的xjc命令生成的XSD。
http://www.imsglobal.org/xsd/imscp_v1p1.xsd和http://www.mmtech.ru/adlcp_v1p3.xsd
我正在嘗試使用第一個xsd中的Item對象
ItemType item = factory.createItemType();
DataType dataType = factory.createDataType();
MapType mapType = factory.createMapType();
dataType.getMap().add(mapType);
item.getAny().add(dataType);
請注意,DataType和MapType都來自兩個XSD。
我可以生成一個問題的xml文件,它給出了錯誤
引起原因:com.sun.istack.SAXException2:由於缺少@XmlRootElement批注,因此無法將類型“ packagename.DataType”作為元素編組
因此,我嘗試將@XmlRootElement添加到DataType類中,而不是創建ns2:dataType,而是在下面創建XML。
<item>
<dataType>
<ns2:map targetID="targetid" writeSharedData="false"/>
</dataType>
</item>
請幫忙。 謝謝
回答我自己的問題。
我們應該將DataType類轉換為JAXBElement。
JAXBElement dataTypeElement = factory.createData(dataType);
item.getAny().add(dataTypeElement);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.