0

私は xstream を使用しており、リストを XML にシリアライズしようとしています。次のような出力構造が必要です

<Employees>
  <Employee></Employee>
  <Employee></Employee>
  <Employee></Employee>
</Employees>

シリアル化するオブジェクトは、

 List<Employee> 

またはクラス従業員。私は従業員を次のように作成しようとしました

public class Employees extends ArrayList<Employee>(){}

および他のさまざまなアプローチがありますが、必要に応じてシリアル化できません。そのようなことを行う簡単な方法はありますか?

私の質問はXStream - Root as a collection of objectsに似ていますが、ラッパーオブジェクトなしでやりたいです。

4

1 に答える 1

1

ルート要素としてリストを使用していますか? クラスに別名を付けることができます。以下のコードは、探している出力を生成します。

public static void main(String[] args) {
    List<Employee> employees = new ArrayList<Employee>();
    employees.add(new Employee());
    employees.add(new Employee());
    employees.add(new Employee());
    XStream xstream = new XStream();
    xstream.alias("Employees", List.class);
    System.out.println(xstream.toXML(employees));
}
于 2012-04-07T03:50:22.513 に答える