import java.io.File;
import org.w3c.dom.Document;
import org.w3c.dom.*;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException; 

public class Read_PrintXMLFile{

    public static void main (String argv []){
    try {

            DocumentBuilderFactory odbf = DocumentBuilderFactory.newInstance();
            DocumentBuilder odb =  odbf.newDocumentBuilder();
            Document odoc = odb.parse (new File("Employees.xml"));
            odoc.getDocumentElement ().normalize ();    // normalize text representation
            System.out.println ("Root element of the doc is " + odoc.getDocumentElement().getNodeName());
            NodeList LOP = odoc.getElementsByTagName("Employee");
            int totalPersons =LOP.getLength();
            System.out.println("Total no of people : " + totalPersons);
            for(int s=0; s<LOP.getLength() ; s++)
				{
                Node FPN =LOP.item(s);
                if(FPN.getNodeType() == Node.ELEMENT_NODE)
					{

                    Element firstPElement = (Element)FPN;
                   
                    NodeList oNameList = firstPElement.getElementsByTagName("Name");
                    Element firstNameElement = (Element)oNameList.item(0);
                    NodeList textNList = firstNameElement.getChildNodes();
                    System.out.println("Name : " + ((Node)textNList.item(0)).getNodeValue().trim());
                   
                    NodeList IDList = firstPElement.getElementsByTagName("Id");
                    Element IDElement = (Element)IDList.item(0);
                    NodeList textIDList = IDElement.getChildNodes();
                    System.out.println("Id : " + ((Node)textIDList.item(0)).getNodeValue().trim());
                   
                    NodeList ageList = firstPElement.getElementsByTagName("Age");
                    Element ageElement = (Element)ageList.item(0);
                    NodeList textAgeList = ageElement.getChildNodes();
                    System.out.println("Age : " + ((Node)textAgeList.item(0)).getNodeValue().trim());

               


                }//end of if clause


            }//end of for loop with s var


        }catch (SAXParseException err) {
        System.out.println (err.getMessage ());

        }catch (SAXException e) {
             e.printStackTrace ();

        }catch (Throwable t) {
        t.printStackTrace ();
        }
        //System.exit (0);

    }//end of main


}