Read XML File
How to read XML file in Java
In this post, we are going to learn to read an XML file using the Java code. The XML is an Extensible Markup Language document file that is used to store and transport data.
Java provides an XML parser library to read the XML document. So, we must import these libraries before writing code to read the file.
Here, we are using a sample XML file students.xml that contains some data and we will read that using the Java code.
// students.xml
<students>
<student id="101">
<Name>John</Name>
<id>11001</id>
<location>India</location>
</student>
<student id="102">
<Name>Alex</Name>
<id>11002</id>
<location>Russia</location>
</student>
<student id="103">
<Name>Rohan</Name>
<id>11003</id>
<location>USA</location>
</student>
</students>Time for an Example:
Let's create an example to read an XML file. Here, first we created an instance of doucment and then parse it to read the file. The getDocumentElement() method is used to read the root element and then by using the loop we iterate all the tags of the document.
package myjavaproject;
import org.w3c.dom.*;
import org.xml.sax.SAXException;
import javax.xml.parsers.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException, ParserConfigurationException, SAXException{
DocumentBuilderFactory dBfactory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = dBfactory.newDocumentBuilder();
// Fetch XML File
Document document = builder.parse(new File("students.xml"));
document.getDocumentElement().normalize();
//Get root node
Element root = document.getDocumentElement();
System.out.println(root.getNodeName());
//Get all students
NodeList nList = document.getElementsByTagName("student");
System.out.println(".................................");
for (int i = 0; i < nList.getLength(); i++)
{
Node node = nList.item(i);
System.out.println(); //Just a separator
if (node.getNodeType() == Node.ELEMENT_NODE)
{
//Print each student's detail
Element element = (Element) node;
System.out.println("Student id : " + element.getAttribute("id"));
System.out.println("Name : " + element.getElementsByTagName("Name").item(0).getTextContent());
System.out.println("Roll No : " + element.getElementsByTagName("id").item(0).getTextContent());
System.out.println("Location : " + element.getElementsByTagName("location").item(0).getTextContent());
}
}
}
}students ................................. Student id : 101 Name : John Roll No : 11001 Location : India Student id : 102 Name : Alex Roll No : 11002 Location : Russia Student id : 103 Name : Rohan Roll No : 11003 Location : USA










