java语言-JAXB在XML序列化时去除默认命名空间xmlns:xsd和xmlns:xsi

在XML序列化时去除默认命名空间xmlns:xsd和xmlns:xsi

Jaxb marshaller总是写xsi:nil(即使在@XmlElement(required = false,nillable = true)时)(Jaxb marshaller always writes xsi:nil (even when @XmlElement(required=false, nillable=true)))
参考URL: https://www.it1352.com/1215111.html

JAXB主要用来实现对象和XML之间的序列化和反序列化。

经过测试,如果属性使用 @XmlElement注释(required = false,nillable = true)并且值为null,它将以 xsi:nil ="true"写出。

解决方法:如果只用 @XmlElement 注释它,你将得到你想要的行为。
但是经过测试,这种方式解决方案,如果某个类对象属性没有赋值,就是某个属性值为null情况下,生成的xml中直接就没有了这个属性对应的元素,有时也不是我们想要的。

经过测试,当你需要某个属性元素标签,但是不想给值时,你可以给这个类对象属性赋值为空字符串。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西京刀客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值