Как да добавите конкретно поле в изходния xml, картографиран от xstream

Имам POJO за картографиране в XML. Използвам XStream за това.

Eg:

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>

Но моето изискване е да имам поле ДАТА заедно със списъка на служителите само веднъж в началото. като този,

<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>

person user1587259    schedule 27.08.2012    source източник


Отговори (1)


Обикновено решавам този проблем, като създавам клас контейнер.

i.e.:

@XStreamAlias("employees")
public class EmployeeList {

  @XStreamAlias("date")
  private Date date;

  @XStreamImplicit
  private List<Employee> employees;
}
person perin.massimo    schedule 03.09.2012