![](/img/trans.png)
[英]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.