在将JAXB对象的编组时,我想为生成的XML设置一些defult值。
我不想使用nillable=true
,因为它会生成带有不必要的xsi:nil="true"
的空标签,并且这不是用于设置默认值。相反,我想生成带有一些占位符(例如“?”)的XML。
用例:我将构建一个用于WebService测试的工具。在那里,我需要向用户展示整个请求xml(例如SOAPUI)。
最佳答案
用例:我将构建一个用于WebService测试的工具。我在那里
需要向用户展示整个请求xml(例如SOAPUI)。
占位符角色的想法并没有真正起作用。例如?
是字符串的默认值,但不是int,boolean或大多数复杂值的默认值(即代表客户的嵌套地址信息)。相反,您将需要一个反映类型的值。
然后,我将不得不编写大型且复杂的基于反射的代码。只是假设
就我而言,这几乎是不可能的。
这个反射代码可能不会像您想象的那样糟糕。快速搜索可能还会发现使用“虚拟”数据填充对象的库。与JAXB挂钩时,您可以利用Marshaller.Listener
在之前的元帅事件中填充对象。