说,我有两节课:
@XmlRootElement class A { @XmlElement String propertyOfA; @XmlElement B b; } class B { @XmlElement String propertyOfB; }
JAXB返回按照以下方式格式化的XML:
<a> <propertyOfA>valueA</propertyOfA> <b> <propertyOfB>valueB</propertyOfB> </b> </a>
我的问题是 如何展平XML中的层次结构? 这样我有:
<a> <propertyOfA>valueA</propertyOfA> <propertyOfB>valueB</propertyOfB> </a>
可以通过注释完成吗?
目前,我正在考虑为A创建一种包装类,该包装类将以我希望在XML中看到它们的方式构建字段。有没有更好的办法?
注意: 我是 EclipseLink JAXB(MOXy)的 负责人,并且是 JAXB 2(JSR-222) 专家组的成员。
您可以使用MOXy的@XmlPath扩展来映射此用例:
@XmlPath
import java.xml.bind.annotation.*; import org.eclipse.persistence.oxm.annotations.XmlPath; @XmlRootElement class A { @XmlElement String propertyOfA; @XmlPath(".") B b; }
想要查询更多的信息