第一次尝试使用这个很酷的站点-在搜索了2个小时之后:我有一个给定的Java Bean (我只能注释,不能更改),并且需要使用JAXB将其映射到XML。我希望基元类型在包含其语言默认值或用户定义的默认值时不被打印。
如上所述,我无法更改java bean,因此无法将原始类型更改为其对象包装器的对等物。
如何才能做到最好?
示例bean:
class Foo {
public String name;
// -1 is user defined default, to indicate field is not set.
public long someIdx=-1;
// ...
}
Foo f = new Foo();
f.name = "Duke";对于此实例化,我希望得到以下输出:
<foo><name>Duke</name></foo>发布于 2009-06-25 05:47:42
您可以使用JAXB的XmlAdapters。从JAXB 2.0 (JDK 6.0)开始可用
使用适配器,您可以让bean独立运行,并注释/更改一个完全不同的类。在您的情况下,这应该不是问题。
See JAXB's author's blog post
https://stackoverflow.com/questions/1040146
复制相似问题