私は次のクラスを持っています
@XmlRootElement(name = "ExecutionRequest")
@XmlAccessorType(XmlAccessType.FIELD)
public class ExecutionRequest {
@XmlElement(name="Command")
private String command;
@XmlElementWrapper(name="ExecutionParameters")
@XmlElement(name="ExecutionParameter")
private ArrayList<ExecutionParameter> ExecutionParameters;
}
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class ExecutionParameter {
@XmlElement(name = "Key")
private String key;
@XmlElement(name = "Value")
private String value;
}
そして、ExecutionRequest オブジェクトをマーシャリングすると、次の XML が得られます -
<ExecutionRequest>
<Command>RetrieveHeader</Command>
<ExecutionParameters>
<ExecutionParameter>
<Key>tid</Key>
<Value>ASTLGA-ALTE010220101</Value>
</ExecutionParameter>
<ExecutionParameter>
<Key>ctag</Key>
<Value>dq</Value>
</ExecutionParameter>
</ExecutionParameters>
</ExecutionRequest>
JAXB バインディングに従って正常に動作しています。しかし、私は XML が 1 つの ExecutionParameter 内にすべてのキーと値のコレクションを持つようにしたい -
<ExecutionRequest>
<Command>RetrieveHeader</Command>
<ExecutionParameters>
<ExecutionParameter>
<Key>tid</Key>
<Value>ASTLGA-ALTE010220101</Value>
<Key>ctag</Key>
<Value>dq</Value>
</ExecutionParameter>
</ExecutionParameters>
</ExecutionRequest>
注釈を変更して、このようなxmlを取得する方法はありますか? 不明な点がありましたらお知らせください。前もって感謝します。