在Java类@XmlElement(nillable = true)
中的变量之前它意味着什么。这是否意味着xml中的字段是可选的?
例如:@XmlElement(nillable = true) protected String name;
答案 0 :(得分:1)
nillable
是XML schema element:
nillable :可选。 指定是否可以为元素分配显式空值。 True允许元素的实例将null属性设置为true。 null属性被定义为实例的XML Schema名称空间的一部分。默认为false。
所以:
@XmlElement(nillable = true) protected String name;
表示您可以将null
分配给变量name
。
答案 1 :(得分:0)
这意味着它将在字段中允许null
值。
答案 2 :(得分:0)
nillable
选项表示使用null
机制表示xsi:nil
值:
<name xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
但是JAXB中的一个元素 nillable 和可选(@XmlElement
有一个required
选项但它是{{}}默认情况下为{1}}。通常,您将特定元素标记为普通false
(不是必需的,因此Java @XmlElement
表示XML中没有元素)或null
(必需,因此Java @XmlElement(nillable = true, required = true)
表示带有null
)的XML元素。
如果一个元素既可以是可填充的又是可选的,那么它通常必须是xsi:nil="true"
而不是JAXBElement<String>
,以区分缺少的元素(String
JAXBElement)和它存在但是&#34; nil&#34; (null
返回isNil()
)的非null JAXBElement。