[英]JAXB : Create Instance of class based on attribute value
如果我有以下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 {
}
可以使用type
属性值将元素字符串<tag type="div" class="parent">
转换为其实现类。
有没有一种方法可以配置JAXB来根据元素字符串的type属性值创建Tag类的实例?
我相信答案就在这里: JAXB:如何解组不同类型但具有共同父对象的List?
您需要在JAXB之上使用EclipseLink moxy:org.eclipse.persistence.moxy。 您将获得该示例所引用的@XmlPaths。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.