我有这种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;
}
}
虽然这个诊断出的SystemTypes嵌套在Server标签中,但我将这些字段放在Server类中。
@XmlElementWrapper(name = "diagnosedSystemTypes")
@XmlElement (name = "string")
List<DiagnosedSystemType> diagnosedSystemTypes = null;
现在在反序列化期间,我得到了diagnosedSystemTypes的正确列表,但是里面的字符串元素是null&#39;它很奇怪,因为列表中的元素数量是可以的(4)。我有什么想法我做错了吗?
答案 0 :(得分: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;
}
}
您的diagnosedSystemTypes包含字符串列表,而不仅仅是一个名称。