1

我想用这个注释在我的 jaxb 生成的类中注释一个字段 - @XmlElement(required = false)。XSD 中的哪个属性会使用此注释生成我的字段?我不能手动输入这个,因为每次运行构建时都会使用 Maven 自动生成 JAXB 类。

我的 jaxb 版本是 xjc 2.2.4-2

谢谢

4

1 回答 1

1

当一个元素有minOccurs="0"对应的@XmlElementhas required=false。请注意,这falserequired属性的默认值,因此它实际上可能不会出现在生成的注释中。


更新

根据您的评论:

让我解释一下我的实际问题。我正在使用 Jackson 从 JAXB 类生成 JSON。问题是当 xml 中不存在该元素时,我看到 json 输出的字段名称为“pip”,值为 null。我实际上希望我的 json 输出中不存在字段“pip”,因为我在 XSD 中声明它为 minOccurs=0。无法确定这是 JAXB 还是 Jackson 的问题。有趣的是,当我在 jaxb 类中使用 required=false 显式注释该字段时,我看到了我的预期输出,但该字段不存在

这是杰克逊没有正确处理注释required上属性的默认值的问题。@XmlElement

于 2014-04-15T11:58:05.283 回答