Sample tag in XML file:
<AccountDetailsList>
<AccountDetails>
<Accountnumber>123/<Accountnumber>
</AccountDetails>
<PersonalDetailsList>
<age>29</age>
<name>Pankaj</name>
<gender>Male</gender>
<role>Java Developer</role>
</PersonalDetailsList>
<AccountDetails>
<Accountnumber>456/<Accountnumber>
</AccountDetails>
<PersonalDetailsList>
<age>35</age>
<name>Julie</name>
<gender>Female</gender>
<role>Dotnet Developer</role>
</PersonalDetailsList>
</AccountDetailsList>
Java Code:
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder(); Document document =documentBuilder.parse(file); NodeList nodeList1 = document.getElementsByTagName("Accountnumber"); for (int k = 0; k < nodeList1.getLength(); k++) { Node accountnode = nodeList1.item(k); //to read all the tags from account number if (accountnode != null) { String acc = document.getElementsByTagName("Accountnumber").item(k).getTextContent(); System.out.println("Account number:" + " " + acc); NodeList nodeList2 = document.getElementsByTagName("age"); for (int j = 1; j < nodeList2.getLength(); j++) { Node age_node = nodeList2.item(j); if (age_node != null) { String age = document.getElementsByTagName("age").item(j).getTextContent() String name = document.getElementsByTagName("name").item(j).getTextContent() String gender = document.getElementsByTagName("gender").item(j).getTextContent(). String role = document.getElementsByTagName("role").item(j).getTextContent() System.out.println("Age:" + age); System.out.println("Name:" + name); System.out.println("Gender:" + name); System.out.println("Role:" + name); }} }}
Currently my actual results are displaying like below list.
Account Number: 123
Age:29
Name: Pankaj
Gender: Male
Role: Java Developer
Age:35
Name: Julie
Gender: Female
Role: Dotnet Developer
Account Number: 456
Age:29
Name: Pankaj
Gender: Male
Role: Java Developer
Age:35
Name: Julie
Gender: Female
Role: Dotnet Developer
But my expected results should be like this:
Account Number: 123
Age:29
Name: Pankaj
Gender: Male
Role: Java Developer
Account Number: 456
Age:35
Name: Julie
Gender: Female
Role: Dotnet Developer