|
This java source code read the XML file tags and retrieves the data from XML file. XML file can work as a data source for any program language. Some programs use XML file as data source (not use database). XML file can use for security purposes in programming (Keep user name and passwords) etc.
XMLReader.java
//copyrighted by topsourcecode.com
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.*;
public class XMLReader {
public static void main(String [] a) {
try {
File file = new File("MyXMLFile.xml");
DocumentBuilderFactory newDBF = DocumentBuilderFactory.newInstance();
DocumentBuilder newDB = newDBF.newDocumentBuilder();
Document doc = newDB.parse(file);
doc.getDocumentElement().normalize();
System.out.println("\nRoot : " + doc.getDocumentElement().getNodeName());
NodeList nodeList = doc.getElementsByTagName("Student");
System.out.println("\nStudent Details");
System.out.println("===============\n");
for (int i = 0; i < nodeList.getLength(); i++) {
Node firstNode = nodeList.item(i);
if (firstNode.getNodeType() == Node.ELEMENT_NODE) {
Element name = (Element) firstNode;
NodeList nameList = name.getElementsByTagName("name");
Element nameElement = (Element) nameList.item(0);
NodeList nameE = nameElement.getChildNodes();
System.out.println("Name : " + ((Node) nameE.item(0)).getNodeValue());
NodeList ageList = name.getElementsByTagName("age");
Element ageElement = (Element) ageList.item(0);
NodeList ageE = ageElement.getChildNodes();
System.out.println("Age : " + ((Node) ageE.item(0)).getNodeValue());
NodeList genList = name.getElementsByTagName("gender");
Element genElement = (Element) genList.item(0);
NodeList genE = genElement.getChildNodes();
System.out.println("Gender : " + ((Node) genE.item(0)).getNodeValue()+"\n");
}
}
}catch (Exception e) {
e.printStackTrace();
}
}
}
MyXMLFile.xml
<Teacher>
<Student>
<name>John</name>
<age>15</age>
<gender>male</gender>
</Student>
<Student>
<name>Kamila</name>
<age>18</age>
<gender>female</gender>
</Student>
<Student>
<name>Williams</name>
<age>12</age>
<gender>male</gender>
</Student>
</Teacher>
Result

|