给出以下XML
<mappings>
<map>
<source srcAttr="oof">foo</source>
<target trgAttr="rab">bar</target>
</map>
<map>
...
Run Code Online (Sandbox Code Playgroud)
是否有可能与JAXB解组的<map>元素为单个类Map
含有值和属性<source>和<target>?
@XmlRootElement
class Map {
@XmlElement
String source;
@???
String srcAttr;
@XmlElement
String target;
@???
String trgAttr;
}
Run Code Online (Sandbox Code Playgroud)
我不想为Source和target创建额外的类.
注意: 我是EclipseLink JAXB(MOXy)的负责人,并且是JAXB(JSR-222)专家组的成员。
您可以使用MOXy的@XmlPath扩展来处理此用例:
import javax.xml.bind.annotation.*;
import org.eclipse.persistence.oxm.annotations.XmlPath;
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
class Map {
String source;
@XmlPath("source/@srcAttr")
String srcAttr;
String target;
@XmlPath("target/@trgAttr")
String trgAttr;
}
Run Code Online (Sandbox Code Playgroud)
想要查询更多的信息