有沒有什麼辦法讓JAXB不保存字段,這些值是@Element註釋中指定的默認值,然後在從XML加載元素爲null或空的元素時爲其設置值?舉個例子:JAXB避免保存默認值
class Example
{
@XmlElement(defaultValue="default1")
String prop1;
}
Example example = new Example();
example.setProp1("default1");
jaxbMarshaller.marshal(example, aFile);
應該產生:
<example/>
和裝載
Example example = (Example) jaxbUnMarshaller.unmarshal(aFile);
assertTrue(example.getProp1().equals("default1"));
我想這樣做是爲了產生一個乾淨的XML配置文件時,並使其更好可讀性和更小的尺寸。
後悔和提前致謝。
我不相信JAXB會檢查該值是否等於默認值,因此應該跳過。第二剪切應該工作。斷言失敗? – 2012-01-16 20:05:32