我正在尝试将XML文件转换为我的2个类,如下所示:
@XStreamAlias("citizenship")
class PersonCitizenship {
private String citizenship;
}
@XStreamAlias("person")
class Person {
private Set<PersonCitizenship> citizenships;
private String citizenship;
private String citizenshipType;
}
我的XML文件看起来像:
<?xml version="1.0" encoding="UTF-8"?>
<person>
<citizenships>
<citizenship>032</citizenship>
</citizenships>
<citizenship>123</citizenship>
<citizenshipType>2</citizenshipType>
</person>
转换后,我得到Person
对象与以下数据:citizenshipType
= 2; citizenship
= 123和Set
的citizenships
在null
场上有citizenship
值。为什么会这样?
你需要添加:
@XStreamImplicit
private Set<PersonCitizenship> citizenships;
否则XStream需要这样的东西:
<person>
<citizenships>
<citizenship>
<citizenship>032</citizenship>
</citizenship>
</citizenships>
<citizenship>123</citizenship>
<citizenshipType>2</citizenshipType>
</person>