環境: EclipseLink MOXyを使用するJAXB 2.1.2
要件:
マーシャリング時にそのような XML を取得したいと思います。
<?xml version="1.0" encoding="UTF-8"?>
<root id="id123">
<email>test@gmail.com</email>
<address type="short">...</address>
</root>
これを次の 2 つのクラスでモデル化します。
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name="root")
public class ClassA {
@XmlAttribute(name="id")
private String id = null;
@XmlElement(name="address")
private Address addr = new Address();
// and some getters setters
}
と
@XmlAccessorType(XmlAccessType.FIELD)
public class Address {
@XmlElement(name="address")
private String address = null;
@XmlAttribute(name="type")
private String type = null;
}
私が得たのはこれで、アドレスが2回ネストされています:
<?xml version="1.0" encoding="UTF-8"?>
<root id="id123">
<email>test@gmail.com</email>
<address type="short">
<address>...</address>
</address>
</root>
1 つの階層を削除するにはどうすればよいですか?