I am trying to use XmlMapper from Jackson to deserialize some simple xml files containing unwrapped lists.
My code:
package zm.study.xmlserialize.jac
Try using below code sample
This sample xml file
901
902
903
904
905
906
907
908
909
910
911
package com.inma.itp.queue.models;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@XmlRootElement(name = "UsrAuthentRs")
@XmlAccessorType(XmlAccessType.FIELD)
public class UsrAuthentRs {
@XmlElement(name = "Body")
private Body body = new Body();
@Data
public static class Body {
@XmlElement(name = "BankUsrInfo")
private BankUsrInfo bankUsrInfo = new BankUsrInfo();
@Data
@XmlAccessorType(XmlAccessType.FIELD)
public static class BankUsrInfo {
@XmlElement(name = "RoleInfo")
@JacksonXmlElementWrapper(useWrapping = false)
private List roles;
@Data
@NoArgsConstructor
@XmlAccessorType(XmlAccessType.FIELD)
public static class RoleInfo {
@XmlElement(name = "RoleId")
private String roleId;
}
}
}
}
This main method which you can convert xml file to Pojo class
XmlMapper mapper = new XmlMapper();
UsrAuthentRq deserializedData = xmlMapper.readValue(YouXmlHere, UsrAuthentRq.class);