Как добавить конкретное поле в выходной 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>

Но мое требование состоит в том, чтобы иметь поле 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>

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