例如,下面的代码,Java类Conditions属性conditionList一个列表类型。XmlRootElement注解conditionList的get方法上(等同于注解属性上)。需要注意该属性的实例化,如果不实例化的话,从xml数据序列化到Java对象时候出错

可以两个地方实例化:

package com.thb.platform;

import java.util.ArrayList;
import java.util.List;

import jakarta.xml.bind.annotation.XmlAttribute;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlRootElement;
import jakarta.xml.bind.annotation.XmlType;
import jakarta.xml.bind.annotation.XmlValue;

@XmlRootElement(name = "conditions")
@XmlType(propOrder = {"identify", "table", "conditionList", "total", "pageSize", "pageNo"})
public class Conditions {
...省略
    private List<Conditions.Condition&gt; conditionList;

    @XmlElement(name = "condition")
    public List<Conditions.Condition&gt; getconditionList(){
        if (conditionList == null) {
            conditionList = new ArrayList<&gt;();
        }
        return this.conditionList;
    }
    
    public void setCondition( List<Conditions.Condition&gt; conditionList) {
        this.conditionList = conditionList;
    }
...省略

    @XmlType(propOrder = {"value"})
    public static class Condition {
...省略
     }
}
package com.thb.platform;

import java.util.ArrayList;
import java.util.List;

import jakarta.xml.bind.annotation.XmlAttribute;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlRootElement;
import jakarta.xml.bind.annotation.XmlType;
import jakarta.xml.bind.annotation.XmlValue;

@XmlRootElement(name = "conditions")
@XmlType(propOrder = {"identify", "table", "conditionList", "total", "pageSize", "pageNo"})
public class Conditions {
...省略
  
    private List<Conditions.Condition> conditionList = new ArrayList<>();

    @XmlElement(name = "condition")
    public List<Conditions.Condition> getconditionList(){
        return this.conditionList;
    }
    
    public void setCondition( List<Conditions.Condition> conditionList) {
        this.conditionList = conditionList;
    }
...省略

    @XmlType(propOrder = {"value"})
    public static class Condition {
...省略
     }
}

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注