1

我的 XML/XSD 中很少有元素,例如<TestElement tc="222">SomeValue</TestElement>. 根据 XSD tc,它的值属于另一个只有键值对的元素。

<xsd:element ref="TestElement" minOccurs="0" />
<xsd:element name="TestElement" type="SUBTYPE_CODES" />
<xsd:complexType name="SUBTYPE_CODES">
        <xsd:simpleContent>
            <xsd:extension base="xsd:string">
                <xsd:attribute name="tc" use="required" type="TRANS_MODE_CODES_TC" />
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>

这样,默认情况下,JAXB 已经为这个元素生成了单独的类,其中包含两个字符串键和值。
JAXB 生成的元素

@XmlElement(name = "TestElement")
 protected SUBTYPECODES testElement;

属性类:

@XmlType(name = "SUBTYPE_CODES", propOrder = {
    "value"
})
public class SUBTYPECODES {

    @XmlValue
    protected String value;
    @XmlAttribute(name = "tc", required = true)
    protected BigInteger tc;
}

现在,每种属性类型都有一千多个类。我将使用这些类作为 Hibernate 的实体类。

我想在 JAXB 类中将其更改为如下所示的内容,并删除所有特定于属性的类。

protected String testElementTC;
protected String testElementValue;

如何在 JAXB 生成的类中声明上述变量而不影响编组/解组?

4

0 回答 0