Reading XML from a File

This Example shows you how to Load Properties from the XML file via a DOM
document. JAXP (Java API for XML Processing) is an interface which provides
parsing of xml documents.Javax.xml.parsers is imported to provide classes for
the processing of XML Documents. Here the Document BuilderFactory is used to
create new DOM parsers. Some of the methods used for reading XML from a file are described below :-
File f = new File("Document2.xml"):-Creating File from where
properties are to be loaded.
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance():-Declaring
DocumentBuilderFactory to create new DOm parsers.
Element root = doc.getDocumentElement():-By this method we can have direct
access to the root of the DOM Document.
NodeList list = doc.getElementsByTagName("Employee"):-NodeList is
an interface that provides an ordered collection of nodes.We can access nodes
from the Nodelist by their index number.
NodeList nodelist = element.getElementsByTagName("name"):-This
method returns a list of element with a given tagname i.e ("name").
Xml code for the program generated is:-
|
<?xml version="1.0" encoding="UTF-8"?>
<Company>
<Employee>
<name Girish="Gi">Roseindia.net
</name>
</Employee>
<Employee>
<name Komal="Ko">newsTrack
</name>
</Employee>
<Employee>
<name Mahendra="Rose">Girish
Tewari
</name>
</Employee>
</Company>
|
readxmlfromafile.java
/*
* @Program to load properties from XML file.
* readxmlfromafile.java
* Author:-RoseIndia Team
* Date:-10-Jun-2008
*/
import java.io.*;
import org.w3c.dom.*;
import javax.xml.parsers.*;
public class readxmlfromafile {
public static void main(String[] args) throws Exception {
File f = new File("Document2.xml");
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(f);
new readxmlfromafile().read(doc);
}
public void read(Document doc) {
Element root = doc.getDocumentElement();
NodeList list = doc.getElementsByTagName("Employee");
for (int i = 0; i < list.getLength(); i++) {
Node node = list.item(i);
if (node.getNodeType() == Node.ELEMENT_NODE) {
Element element = (Element) node;
NodeList nodelist = element.getElementsByTagName("name");
Element element1 = (Element) nodelist.item(0);
NodeList fstNm = element1.getChildNodes();
System.out.println("Name : " + (fstNm.item(0)).getNodeValue());
}
}
}
}
|
Output of the program:-
|
Name : Roseindia.net
Name : newsTrack
Name : Girish Tewari
|
DownLoad Source Code

|