XStreamを使用して、java.util.Map型のフィールドを持つJavaクラスを変換しています。 Mapのキーをxml要素として、マップの値をxml要素の値として表示するjava.util.Map用のコンバータがあります。私はregisterConverterメソッドを使用してコンバータを登録しました。マーシャリングを実行すると、次の出力が得られます。異なるフィールドの同じクラス(Map.class)の異なるXStream別名
<cart account_id="123" shift_id="456" account_postings_id="641">
<supervisor_id>555</supervisor_id>
<payments>
<map sequence="1">
<amount>123.45</amount>
<billing_method>12345</billing_method>
<form>card</form>
<delivery_mode>Q</delivery_mode>
</map>
<map sequence="2">
<amount>123.45</amount>
<person_id>2333</person_id>
<form>cash</form>
<delivery_mode>Q</delivery_mode>
</map>
</payments>
<items>
<map sequence="3">
<amount>1.00</amount>
<type>pay_toll</type>
<toll_id>1234</toll_id>
</map>
</items>
</cart>
マップタグの代わりに、クラス内のフィールド名に基づいて異なるタグを使用したいと考えています。たとえば、Paymentsリストにはタグ名の支払いがあり、Itemsリストには各Mapエレメントのタグ名項目があります。
同じクラスのフィールドに基づいて別名を動的に設定するにはどうすればよいですか?
-Anand
あなたの答えはありがたいです。 – Anand