我们使用Jersey连接到第三方。然后,我们想要将返回的xml提取到我们的类中。这实际上工作正常,除了在子节点中的xml中的一个节点。 下面是返回的XML:使用Jersey分析子节点
<response>
...
<langISO>en</langISO>
<acquirerAmount>1000</acquirerAmount>
<acquirerCurrency>GBP</acquirerCurrency>
<subXml>
<authCode>122958</authCode>
</subXml>
</response>
注意,AUTHCODE节点是一个子节点(称为subXml)。
OurResponse myriadResponse = response.getEntity(OurResponse.class);
这里是我们班的,但它不解析出AUTHCODE
package com.xxx;
import javax.ws.rs.Consumes;
import javax.ws.rs.Path;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
@Consumes("application/xml")
public class OurResponse {
private String authCode;
@XmlElement(name = "subXml/authCode")
public String getAuthCode() {
return authCode;
}
@XmlElement(name = "subXml/authCode")
public void setAuthCode(String authCode) {
this.authCode = authCode;
}
}
太棒了!谢谢!选项2正在工作。 – phil 2010-09-15 09:01:32
很高兴我能帮到你。既然你是新手,一旦你找到你的答案,我们鼓励你将其标记为公认的答案。 – 2010-09-15 09:39:50