我有以下代码:
public class TestElement {
@XmlElement
private Field field;
private boolean isEmpty;
...
}
@XmlRootElement
public class MainTest {
@XmlElement
private TestElement el1
@XmlElement
private TestElement el2
...
}
编组后,会产生一个XML文件:
<MainTest>
<TestElement id=el1>
<Field>...</Field>
</TestElement>
<TestElement id=el2>
<Field>...</Field>
</TestElement>
</MainTest>
但我想删除&lt; Field&gt;标签,以便文件显示为
<MainTest>
<TestElement id=el1>...</TestElement>
<TestElement id=el2>...</TestElement>
</MainTest>
有没有办法做到这一点?类field
中的字段TestElement
是唯一应在XML文件中表示的字段。
(为了澄清:我不想删除<Field>
和</Field>
之间的值,我只想丢弃封装该值的不必要的标签。)
提前致谢!
答案 0 :(得分:0)
我找到了一个适合我的解决方案。我在MainTest
类中为每个TestElement对象创建了一个(私有)getter,而不是注释整个TestElement对象。我已将MainTest
更改为:
@XmlRootElement
public class MainTest {
private TestElement el1
private TestElement el2
...
@XmlElement(name="TestElement")
private Field getFieldEl1() {
return el1.getField();
}
答案 1 :(得分:-2)
在Field getter方法上使用@XmlValue