Java JaxB对象工厂是否将默认值填充到必需元素
我们正在使用ObjectFactory类创建对象以封送xml文件。当我们创建新对象时,ObjectFactory类会将默认值填充到必需元素中 在XSD中:Java JaxB对象工厂是否将默认值填充到必需元素,java,jaxb,Java,Jaxb,我们正在使用ObjectFactory类创建对象以封送xml文件。当我们创建新对象时,ObjectFactory类会将默认值填充到必需元素中 在XSD中: element name="MerchantCategoryCode" default="5541 爪哇: 引自: 当类具有默认值的元素属性时,如果值为null,封送拆收器将不会在XML中生成相应的元素 @XmlRootElement class Product { @XmlElement(defaultValue="Apple") p
element name="MerchantCategoryCode" default="5541
爪哇:
引自:
当类具有默认值的元素属性时,如果值为null,封送拆收器将不会在XML中生成相应的元素
@XmlRootElement
class Product {
@XmlElement(defaultValue="Apple") public String modelName=null;
}
marshaller.marshal(new Product(),System.out);
上述各项的产出将为:
当元素不存在时,元素默认值不会出现在图片中,根据XSD,这是正确的
如果希望上述值包含默认值,只需在java级别分配它,如下所示:
@XmlRootElement
class Product {
@XmlElement public String modelName="Apple";
}
marshaller.marshal(new Product(),System.out);
以上各项的产出如下:
苹果
@XmlRootElement
class Product {
@XmlElement public String modelName="Apple";
}
marshaller.marshal(new Product(),System.out);