在向另一个进程发送消息时,我使用 XStream 1.4.3 在 Java 和 XML 文档之间移动。大多数一切都有效。但是,我似乎无法获得一份回复文档来正确反序列化。这是回复:
<AddToBatchResponse>
<MerchantOrderNumber>1525675</MerchantOrderNumber>
<MerchantOrderNumber>1525676</MerchantOrderNumber>
<ResponseReasonCode>100</ResponseReasonCode>
<AuthResponseType>S</AuthResponseType>
</AddToBatchResponse>
当 XStream 到达第 2 个 MerchantOrderNumber 时,它会给出错误消息“重复字段 MerchantOrderNumber”。我尝试了不同的设计,但它就是行不通。这是相关的Java代码:
来自调用类的片段
xstream.alias("AddToBatchResponse", AddToBatchResponse.class);
xstream.alias("MerchantOrderNumber", OrderNumber.class);
xstream.addImplicitCollection(AddToBatchResponse.class, "orderNumbers");
response = (AddToBatchResponse)xstream.fromXML(responseXml);
AddToBatchResponse.java(省略 getter 和 setter)
public class AddToBatchResponse {
protected List<OrderNumber> orderNumbers;
protected String ResponseReasonCode;
protected String AuthResponseType;
...
订单号.java
public class OrderNumber {
protected String MerchantOrderNumber;
...
有人可以告诉我我做错了什么吗?谢谢。