How to parse and create java pojo for below xml in an efficient way? Kindly suggest any efficient parser.
XML format is
For those looking for JAXB code to convert xml to java object:
//Convert xml to String first
Element partyLoaderRequest; // your xml data
String xmlString = new XMLOutputter().outputString(partyLoaderRequest);
InputStream is = new ByteArrayInputStream(xmlString.getBytes());
DocumentBuilder docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document document = docBuilder.parse(is);
org.w3c.dom.Element varElement = document.getDocumentElement();
JAXBContext context = JAXBContext.newInstance(Person.class);
Unmarshaller unmarshaller = context.createUnmarshaller();
JAXBElement loader = unmarshaller.unmarshal(varElement, Person.class);
Person inputFromXml = loader.getValue();
whereas Person has proper XML annotations:
@XmlRootElement(name="Person")
public class CimbWlAdminUserAmendInput {
@XmlElement(name="companyName",required=true,nillable=false)
private String companyName;
...
//setters getters
@XmlTransient
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
}