如果我有以下xml。
<tag type="div" class="parent">
<children>
<tag type="span"/>
<tag type="div"/>
</children>
</tag>
除此之外,我还有以下课程
public abstract class Tag {
@XmlAttribute( "class" )
private String classes;
private List<Tag> children;
}
以及一些实施类:
public class Span extends Tag {
}
public class Button extends Tag {
}
可以使用<tag type="div" class="parent">
的属性值将元素字符串type
转换为其实现类。
有没有办法可以配置JAXB来创建Tag类的实例,具体取决于元素字符串的类型属性值?
答案 0 :(得分:0)
我相信答案就在这里:JAXB: how to unmarshal a List of objects of different types but with common parent?
您需要在JAXB:org.eclipse.persistence.moxy之上使用EclipseLink moxy。您将获得示例引用的@XmlPaths。