小编use*_*841的帖子

JAXB编组具有可变根元素名称的通用列表

所以我试图编组一个通用的对象列表,但我希望每个列表都有一个特定的XmlRootElement(name ..).我这样做的方式,我知道如果没有为每种类型的对象编写特定的包装类并声明XmlRootElement,这是不可能的.但也许还有另一种方式......?

考虑以下类:

abstract public class Entity {

}

@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name="user")
public class User extends Entity {

    private String username;

    public String getUsername() {
        return username;
    }

    public void setUsername( String username ) {
        this.username = username;
    }

}

@XmlRootElement
public class EntityList<T extends Entity> {

    @XmlAnyElement(lax=true)
    private List<T> list = new ArrayList<T>();

    public void add( T entity ) {
        list.add( entity );
    }

    public List<T> getList() {
        return list;
    }

}


public class Test {

    public static void main( …
Run Code Online (Sandbox Code Playgroud)

java arraylist jaxb marshalling

6
推荐指数
1
解决办法
7459
查看次数

标签 统计

arraylist ×1

java ×1

jaxb ×1

marshalling ×1