JAXB 几乎没有问题。
鉴于:
- Java 1.5;来自 jaxws-2_0 的 jaxb -jars。
- .xsd 方案和生成的 JAXB 类。
- .xsd 中的每个简单元素都有默认值。结果类成员具有类似“ @XmlElement(name = "cl_fname", required = true, defaultValue = "[ _ __ _ __]")的注释
必需的
获取完全表示 xml 的 java 对象(根元素)和默认值初始化的每个成员。
当我尝试在不显式设置值的情况下编组 xml 时,默认值没有意义......有没有办法在不自定义生成的类的情况下编组填充有默认值的 xml?
.xsd 示例:
<xs:element name="document">
<xs:complexType>
<xs:sequence>
<xs:element ref="d_int"/>
<xs:element ref="d_double"/>
<xs:element ref="d_string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="d_int" type="xs:int" default="-1"/>
<xs:element name="d_double" type="xs:double" default="-1.0"/>
<xs:element name="d_string" type="xs:string" default="false"/>
和java类:
public class Document {
@XmlElement(name = "d_int", defaultValue = "-1")
protected int dInt;
@XmlElement(name = "d_double", defaultValue = "-1.0")
protected double dDouble;
@XmlElement(name = "d_string", required = true, defaultValue = "Default")
protected String dString;
...
}