4

鉴于此 XML:

<response>
    <detail Id="123" Length="10" Width="20" Height="30" />
</response>

这就是我现在所拥有的,但它不起作用(我得到空结果):

@XmlRootElement(name="response")
public class MyResponse {
    List<ResponseDetail> response;
    //+getters +setters +constructor
}

public class MyResponseDetail {
    Integer Id;
    Integer Length;
    Integer Width;
    Integer Height;
    //+getters +setters
}

我正在使用远程服务调用RestOperations并且我想解析<detail ..>元素。我已经尝试将MyResponseMyResponseDetail类都传递给RestOperations但结果总是空的。

我的对象结构应该是什么样子才能匹配那个 XML?

4

1 回答 1

4

你需要像这样注释你的类:

@XmlRootElement
public class Response {

    private List<Detail> detail;

    public void setDetail(List<Detail> detail) {
        this.detail = detail;
    }
    public List<Detail> getDetail() {
        return detail;
    }

}

public class Detail {

    private String id;
    /* add other attributes here */

    @XmlAttribute(name = "Id")
    public void setId(String id) {
        this.id = id;
    }
    public String getId() {
        return id;
    }

}
于 2013-08-14T13:30:43.117 回答