Как добавить определенное поле в выходной xml, сопоставленный с xstream

У меня есть POJO для отображения в XML. Я использую 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 ответ

Обычно я решаю эту проблему, создавая контейнерный класс.

то есть:

@XStreamAlias("employees")
public class EmployeeList {

  @XStreamAlias("date")
  private Date date;

  @XStreamImplicit
  private List<Employee> employees;
}
Другие вопросы по тегам