Jaxb 解析 带有继承关系的bean与xml

本文介绍了如何使用JAXB进行XML序列化,并展示了通过@XmlAccessorType注解和@XmlSeeAlso注解来实现父类与子类之间的绑定。示例中详细说明了如何定义父类和子类的具体属性及方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

具体方法:

1. 在jaxb的setClasstobebounds中,只需要子类的class,无需父类。

2. 父类的前面加如下声明:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlSeeAlso({
    子类.class
})
public class 父类 extends Entity{
    @XmlElement
    public String platformid;
    @XmlElement
    public String pointid;
    
    public String getPlatformid() {
        return platformid;
    }

    public void setPlatformid(String platformid) {
        this.platformid = platformid == null ? null : platformid.trim();
    }
    public String getPointid() {
        return pointid;
    }

    public void setPointid(String pointid) {
        this.pointid = pointid == null ? null : pointid.trim();
    }
}

3. 子类如下:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name="parameters")
public class TPointInfo extends TPointInfoKey{
    @XmlElement
    private String pointname;
    @XmlElement
    private String longitude;
    @XmlElement
    private String latitude;
    @XmlElement
    private String groupid;
    
    public String getPointname() {
        return pointname;
    }

    public void setPointname(String pointname) {
        this.pointname = pointname == null ? null : pointname.trim();
    }

    public String getLongitude() {
        return longitude;
    }

    public void setLongitude(String longitude) {
        this.longitude = longitude == null ? null : longitude.trim();
    }

    public String getLatitude() {
        return latitude;
    }

    public void setLatitude(String latitude) {
        this.latitude = latitude == null ? null : latitude.trim();
    }

    public String getGroupid() {
        return groupid;
    }

    public void setGroupid(String groupid) {
        this.groupid = groupid == null ? null : groupid.trim();
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值