【发布时间】:2020-04-03 00:10:24
【问题描述】:
我正在尝试反序列化来自我的RestTemplate 的XML 响应,并且该响应包含我需要在映射对象中设置的属性。响应类似于:
<schoolResponse>
<class id="1" num_of_students="22" name="Ms Barry" >
<student key="202" value="Jim" />
<student key="203" value="Tom" />
<student key="204" value="Dave" />
<schoolYear>1980</schoolYear>
</class>
<class id="2" num_of_students="20" name="Mr Smith">
<student key="302" value="Jim" />
<student key="303" value="Tom" />
<student key="304" value="Dave" />
<schoolYear>1980</schoolYear>
</class>
<class>
...
</class>
</schoolResponse>
我的POJO 是:
@Data
@NoArgsConstructor
public class SchoolResponse {
@JacksonXmlElementWrapper(localName = "class")
private List<ClassRoomResponse> classes;
}
@Data
@NoArgsConstructor
@XmlRootElement(name="class")
public class ClassRoomResponse {
@XmlAttribute(name = "id")
private String id;
@XmlAttribute(name = "num_of_students")
private String numOfStudents;
@XmlAttribute(name = "name")
private String teacherName;
@XmlElement(name = "schoolYear")
private String schoolYear;
@JacksonXmlElementWrapper(localName = "key")
String key;
@JacksonXmlElementWrapper(localName = "value")
String value;
public ClassRoomResponse(String stringSetter) {}
}
这个映射没有正确设置值,所以,我想知道我在使用这些属性时遇到了什么问题。
【问题讨论】:
-
以下答案有用吗?
标签: java xml spring-boot jackson lombok