【问题标题】:JAXB Java to XML: How not printing primitive type members when defaultJAXB Java to XML:默认情况下如何不打印原始类型成员
【发布时间】:2010-11-05 14:59:12
【问题描述】:

第一次尝试使用这个很酷的网站 - 搜索了 2 小时后: 所以我有一个给定的Java Bean(我只能注释而不是更改)并且需要使用JAXB将它映射到XML。我希望基元类型在包含其语言默认值或用户定义的默认值时不被打印。

如前所述,我无法更改 java bean,因此将原始类型更改为对应的 Object Wrappers。

你如何做到最好?

样品豆:

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>

【问题讨论】:

    标签: jaxb default-value primitive-types


    【解决方案1】:

    您可以使用 JAXB 的 XmlAdapters。自 JAXB 2.0 (JDK 6.0) 起可用

    使用适配器,您可以单独使用 bean 并注释/更改一个完全不同的类。在您的情况下,这应该不是问题。

    See my reply here

    See JAXB's author's blog post

    【讨论】:

    • 谢谢,我现在只是编写了封装类型的转换器,这是最简单的方法。
    猜你喜欢
    • 2022-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-16
    相关资源
    最近更新 更多