簡體   English   中英

JAXB多個XSD

[英]JAXB multiple xsd

我有兩個通過JAXB的xjc命令生成的XSD。

http://www.imsglobal.org/xsd/imscp_v1p1.xsdhttp://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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM