I basically want to know how to get these element values from the xml file in java set it into the Object.
Below are the sample XML file
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<LoanApplication>
<LoanId>1111</LoanId>
<LoanStatus>Unsuccessful</LoanStatus>
<LoanReference>111</LoanReference>
</LoanApplication>
<LoanApplication>
<LoanId>222</LoanId>
<LoanStatus>Unsuccessful</LoanStatus>
<LoanReference>333</LoanReference>
</LoanApplication>
<LoanApplication>
<LoanId>222</LoanId>
<LoanStatus>Unsuccessful</LoanStatus>
<LoanReference>4444</LoanReference>
</LoanApplication>
<LoanApplication>
<LoanId>555</LoanId>
<LoanStatus>Current</LoanStatus>
<LoanReference>7777</LoanReference>
</LoanApplication>
<LoanApplication>
<LoanId>3333</LoanId>
<LoanStatus>Current</LoanStatus>
<LoanReference>9999</LoanReference>
</LoanApplication>
</Response>
Below are the Class where I want get xml data...
public class LoanIDResponse implements java.io.Serializable
{
private Integer loanID;
private Integer loanReference;
private String loanStatus;
public LoanIDResponse()
{
}
public void setLoanID(Integer loanID)
{
this.loanID = loanID;
}
public void setLoanStatus(String loanStatus)
{
this.loanStatus = loanStatus;
}
public void setLoanReference(Integer loanReference)
{
this.loanReference = loanReference;
}
public Integer getLoanID()
{
return loanID;
}
public Integer getLoanReference()
{
return loanReference;
}
public String getLoanStatus()
{
return loanStatus;
}
}
Below are the method where put some effort to parse xml file. Now I am struck how to set in my class setters.
public Set<LoanIDResponse> getLoanIDList()
{
Set<LoanIDResponse> loanIDSet = new HashSet<>();
try
{
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document doc = docBuilder.parse(new File("Response.xml"));
doc.getDocumentElement().normalize();
NodeList listOfLoanApplication = doc.getElementsByTagName("LoanApplication");
int totalLoanApplication = listOfLoanApplication.getLength();
for (int s = 0; s < listOfLoanApplication.getLength(); s++)
{
Node loanApplicationNode = listOfLoanApplication.item(s);
if (loanApplicationNode.getNodeType() == Node.ELEMENT_NODE)
{
LoanIDResponse response = new LoanIDResponse();
Element loanApplicationElement = (Element) loanApplicationNode;
NodeList loanIDList = loanApplicationElement.getElementsByTagName("LoanId");
NodeList loanReferenceList = loanApplicationElement.getElementsByTagName("LoanReference");
NodeList loanStatusList = loanApplicationElement.getElementsByTagName("LoanStatus");
}
}
} catch (SAXParseException err)
{
LOGGER.log(Level.WARNING, "** Parsing error" + ", line {0}, uri {1}", new Object[]
{
err.getLineNumber(), err.getSystemId()
});
LOGGER.log(Level.WARNING, " {0}", err.getMessage());
}
return loanIDSet;
}