Как я могу прочитать ответ xml, содержащий вложенные списки?
Следующее не работает, означает, что вложенный список всегда пуст. Почему?
JacksonXmlModule xmlMod = new JacksonXmlModule();
xmlMod.setDefaultUseWrapper(false);
ObjectMapper m = (new Jackson2ObjectMapperBuilder())
.createXmlMapper(true)
.modules(xmlMod, new JaxbAnnotationModule())
.build();
PersonResponse rsp = m.readValue(ReaderUtil.read("person.xml"), PersonResponse.class)
//all fields having getter + setter, omitted for readability
@XmlRootElement
public class PersonResponse {
@XmlElement(required = true)
private Persons persons;
@XmlAccessorType(XmlAccessType.FIELD)
public static class Persons {
@XmlElement(required = true)
List<Person> person;
@XmlAccessorType(XmlAccessType.FIELD)
public static class Person {
@XmlAttribute(name="firstname", required=true)
private String firstname;
}
}
}
person.xml:
<response>
<persons>
<person firstname="test" />
<person firstname="john" />
</persons>
</response>
Результат: список person
внутри объекта ответа всегда пуст. Почему?