如何将特定字段添加到xstream映射的输出xml中

时间:2012-08-27 16:40:49

标签: xstream oxm

我有一个要映射到XML的POJO。我正在使用XStream。

例如:

class employee{
String name;
String age;
}

和相应的XML将是,

<employees>
  <employee>
    <name></name>
    <age></age>
  </employee>
  <employee>
    <name></name>
    <age></age>
  </employee>
  <employee>
    <name></name>
    <age></age>
  </employee>
<employees>

但我的要求是在开始时只有一次DATE字段和员工列表。像这样,

<employees>
  **<date>10/12/2015</date>**
  <employee>
    <name></name>
    <age></age>
  </employee>
  <employee>
    <name></name>
    <age></age>
  </employee>
  <employee>
    <name></name>
    <age></age>
  </employee>
<employees>

如何将不同的元素添加到XStream生成的XML中。我尝试过使用带日期和员工名单的POJO。日期会像这样多次打印,

<employees>
  **<date>10/12/2015</date>**
  <employee>
    <name></name>
    <age></age>
  </employee>
  **<date>10/12/2015</date>**
  <employee>
    <name></name>
    <age></age>
  </employee>
  **<date>10/12/2015</date>**
  <employee>
    <name></name>
    <age></age>
  </employee>
<employees>

1 个答案:

答案 0 :(得分:1)

通常我会解决这个问题,创建一个容器类。

即:

@XStreamAlias("employees")
public class EmployeeList {

  @XStreamAlias("date")
  private Date date;

  @XStreamImplicit
  private List<Employee> employees;
}