小编A7i*_*7iz的帖子

使用默认值初始化JAXB对象

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"/>
Run Code Online (Sandbox Code Playgroud)

和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 …
Run Code Online (Sandbox Code Playgroud)

xsd jaxb default-value

10
推荐指数
1
解决办法
2万
查看次数

标签 统计

default-value ×1

jaxb ×1

xsd ×1