我有以下课程
@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 在一个 ExecutionParameter 中包含所有键值集合,例如 -
<ExecutionRequest>
<Command>RetrieveHeader</Command>
<ExecutionParameters>
<ExecutionParameter>
<Key>tid</Key>
<Value>ASTLGA-ALTE010220101</Value>
<Key>ctag</Key>
<Value>dq</Value>
</ExecutionParameter>
</ExecutionParameters>
</ExecutionRequest>
有没有办法通过更改注释来获得这样的xml。如果需要澄清,请告诉我。提前致谢。