【发布时间】:2011-03-28 13:09:41
【问题描述】:
我在将 JAXB 对象集合映射到另一个 JAXB 对象时遇到问题,有人看到下面我的结构存在问题吗?我使用以下代码得到一个空的原用户 ArrayList:
String test="<SSO-Request><User-Id>3119043033121014002</User-Id><Former-User-Ids><User-Id>3119043033121014999</User-Id><User-Id>3119043033121014555</User-Id></Former-User-Ids></SSO-Request>";
SSORequest ssoRequest=null;
try{
JAXBContext jaxbContext = JAXBContext.newInstance(SSORequest.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
ssoRequest = (SSORequest) unmarshaller.unmarshal(new StringReader(test));
}
catch(Exception e){
e.printStackTrace();
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name="SSO-Request")
public class SSORequest {
@XmlElement(name="User-Id")
String userId;
@XmlElementWrapper(name="Former-User-Ids")
List<FormerUser> formerUsers;
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name="Former-User-Ids")
public class FormerUser {
@XmlElement(name="User-Id")
String userId;
}
【问题讨论】: