繁体   English   中英

编组时null元素的JAXB默认值

[英]JAXB default value for null elements when marshalling

编组 JAXB对象时,我想为生成的XML设置一些defult值。

我不想使用nillable=true因为它生成带有不必要的xsi:nil="true"空标记,而这不是用于设置默认值。 相反,我想用一些占位符字符生成XML,例如'?'。

用例:我将构建一个WebService测试工具。 在那里,我需要将整个请求xml呈现给用户(如SOAPUI)。

用例:我将构建一个WebService测试工具。 在那里,我需要将整个请求xml呈现给用户(如SOAPUI)。

占位符角色的想法并不真正起作用。 比如? 是字符串的ok默认值,但不是int,boolean或大多数复杂值(即表示客户的嵌套地址信息)。 相反,您将需要一个反映该类型的值。

然后我将不得不编写大而复杂的基于反射的代码。 假设在我的情况下这几乎是不可能的。

这个反射代码可能不会像你想象的那么糟糕。 快速搜索可能还会显示使用“虚拟”数据填充对象的库。 使用JAXB将其连接起来时,您可以利用Marshaller.Listener在on marshal事件上填充对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM