【问题标题】:JAXB XML to object serializingJAXB XML 到对象序列化
【发布时间】:2015-03-22 17:58:37
【问题描述】:

我有这个 XML 结构:

<diagnosedSystemTypes>
   <string>system_1</string>   
   <string>system_2</string>
   <string>system_3</string>
   <string>system_4</string>
</diagnosedSystemTypes>

我想要做的是,将这些元素反序列化为 DiagnosedSystemTypes 列表。

这就是我的 DiagnosedSystemType 类的外观。

@XmlRootElement( name = "string" )
public class DiagnosedSystemType {

    String name; 

    @XmlElement (name = "string")
    public void setName(String name){
        this.name = name;
    }

    public String getName(){
        return name;
    }
}

虽然这个诊断系统类型嵌套在服务器标签中,但我把这个字段放在服务器类中。

@XmlElementWrapper(name = "diagnosedSystemTypes")
@XmlElement (name = "string")
List<DiagnosedSystemType> diagnosedSystemTypes = null;

现在在反序列化过程中,我得到了正确的诊断系统类型列表,但里面的字符串元素是空的:(这很奇怪,因为列表中的元素数量还可以(4)。任何想法我做错了什么?

【问题讨论】:

    标签: java xml serialization jaxb


    【解决方案1】:
    @XmlRootElement( name = "diagnosedSystemTypes" )
    public class DiagnosedSystemType {
    
        @XmlElement (name = "string")
        List<String> names; 
    
    
        public List<String> getNames(){
            if (names == null) names = new ArrayList<>();
            return name;
        }
    }
    

    您的诊断系统类型包含字符串列表,而不仅仅是一个名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-24
      • 2017-01-11
      相关资源
      最近更新 更多