如何将JAXB注释中的字段映射到元素和属性?我在JAXB中尝试定制我的模型时遇到了一些麻烦。这是我目前的模特:
Info.java :
package com.rest.model;
public class Info {
private String a;
private String b;
private String c;
private String d;
public Info() {
}
/* ... insert JavaBean getters/setters here */
}
InfoList.java :
package com.rest.model;
public class InfoList {
private List<Info> infos;
public InfoList() {
}
/* ... insert JavaBean getters/setters here */
}
这序列化的内容如下:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<infos>
<info>
<a>HELLO</a>
<b>WORLD</b>
<c>OLLEH</c>
<d>DLROW</d>
</info>
</streams>
如何控制序列化的方式?我尝试过使用注释,但我只设法触发IllegalAnnotationException
。我如何基本上采用这个模型,因为它是自动映射并在注释中表达?或者,如何更改Info
类中要映射到XML属性的字段?
答案 0 :(得分:2)
默认情况下,JAXB将在公共访问器上查找注释。如果您注释字段,您将看到您获得的例外。如果要注释字段 添加以下内容:
@XmlAccessorType(XmlAccessType.FIELD)
public class Foo {
@XmlAttribute
private String a;
}
有关示例,请参阅: