【问题标题】:XStream doesn't convert value from XMLXStream 不从 XML 转换值
【发布时间】:2017-12-18 13:17:58
【问题描述】:

我正在尝试将 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 和 Setcitizenshipscitizenship 字段上具有 null 值。为什么会这样?

【问题讨论】:

    标签: java xml xstream


    【解决方案1】:

    你需要添加:

    @XStreamImplicit
    private Set<PersonCitizenship> citizenships;
    

    否则 XStream 期望类似:

    <person>
      <citizenships>
        <citizenship>
          <citizenship>032</citizenship>
        </citizenship>
      </citizenships>
      <citizenship>123</citizenship>
      <citizenshipType>2</citizenshipType>
    </person>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-15
      • 2021-10-19
      • 2014-07-23
      • 2014-09-25
      相关资源
      最近更新 更多