マーシャリングする必要がある単純なクラスがあります。クラスは次のように宣言されます。
@XmlRootElement
public class XMLUser...
ここに私が得るものがあります:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xmlUser>
<login>myLogin</login>
<password>myPass</password>
<role name="role1"/>
<role name="role2"/>
<role name="role3"/>
</xmlUser>
ここで、1 つのファイルに複数のユーザーを配置したいのですが、自分でラッパー クラスを作成する必要はありません。@XmlElementWrapper を使用するようなものですが、フィールドではなくクラスに対してです。これが可能かどうかはわかりません。
リスト (または jaxb によって提供されるオブジェクト) をマーシャリングし、次のような xml になるようにします (<users>
タグは自動的に生成されます)。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<users>
<xmlUser>
<login>login1</login>
<password>pass2</password>
<role name="role1"/>
<role name="role2"/>
</xmlUser>
<xmlUser>
<login>login2</login>
<password>pass2</password>
<role name="role1"/>
<role name="role3"/>
</xmlUser>
</users>
どんな助けでも大歓迎です。