我正在尝试使用Spring和JAXB将XSD / XML文件转换为java JAXB对象 我正在使用的模式具有如下所示的字段:
<simpleType name="productType">
<restriction base="string"/>
</simpleType>
<complexType name="child">
<sequence>
<element name="product" type="productType" maxOccurs="unbounded"/>
</sequence>
</complexType>
<element name="products">
<complexType>
<sequence>
<element ref="child"/>
</sequence>
</complexType>
</element>
当JAXB使用上述模式时,它会生成两个类:
Products.java
Child.java
Whith“Child”作为列表在Products类中作为对象:
@XmlElement(required = true)
protected List<Child> child;
将XML / XSD文件转换为JAXB对象时这很好,但是当进行相反的转换时,即将Hibernate或简单的javabean转换为JaxB对象时,很难映射字段。在上面的例子中,我必须首先创建“Child”对象,将它们放在一个列表中然后创建“Product”对象。
似乎JAXB为我在XSD文件中定义的每种类型生成一个类。
你可以想象这对于一个包含多个级别内部标记的非常大的xml文件会有多么混乱。无论xml文件中有多少级别,都可以生成单个JAXB对象吗? (即不为XSD文件中定义的每种类型创建单独的类。)