繁体   English   中英

JAXB:根据属性值创建类的实例

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM