当我从以下模式生成代码时,会创建两个类,即A
和B
。但是,这两个类不被@XmlRootElement
注解,所以我得到一个错误,当我尝试元帅B.JAXB不使用XmlRootElement注释
我看着在网络上,我使用自定义绑定(<xjc: simple/>
)尝试过的解决方案,但它不起作用。看起来,为了使这个解决方案能够工作,模式中必须定义一个类型为B的元素。
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns:ns="com:mycomp:service" xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="com:mycomp:service"
elementFormDefault="qualified" xml:lang="EN">
<complexType name="A" abstract="true">
<sequence>
<element name="a1" type="string" />
<element name="a2" type="string" />
</sequence>
</complexType>
<complexType name="B">
<complexContent>
<extension base="ns:A">
<sequence>
<element name="b1" type="string" />
</sequence>
</extension>
</complexContent>
</complexType>
</schema>
感谢
以下应该有所帮助:http://blog.bdoughan.com/2012/07/jaxb-and-root-elements.html –