Sunday, July 06, 2008

How to read XML file in Java

Delicious 0
This sample code reads the XML file using DOM parser. DOM parser loads the XML file into the memory and makes an object model of it. This Object modal can be traversed to get its elements.

This code will parse the following MyXMLFile.xml file and print its elements to the console.



XML file: MyXMLFile.xml
<?xml version="1.0"?>
<company>
  <employee>
    <firstname>Tom</firstname>
    <lastname>Cruise</lastname>
  </employee>
  <employee>
    <firstname>Paul</firstname>
    <lastname>Enderson</lastname>
  </employee>
  <employee>
    <firstname>George</firstname>
    <lastname>Bush</lastname>
  </employee>
</company>
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node; 
import org.w3c.dom.NodeList; 

public class XMLReader {            
   public static void main(String argv[]) {               
      try {                  
        File file = new File("c:\\MyXMLFile.xml");                 
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
        DocumentBuilder db = dbf.newDocumentBuilder(); 
        Document doc = db.parse(file); 
        doc.getDocumentElement().normalize(); 
        System.out.println("Root element " + doc.getDocumentElement().getNodeName()); 
        NodeList nodeLst = doc.getElementsByTagName("employee"); 
        System.out.println("Information of all employees"); 
        for (int s = 0; s < nodeLst.getLength(); s++) { 
           Node fstNode = nodeLst.item(s);
          if (fstNode.getNodeType() == Node.ELEMENT_NODE) { 
              Element fstElmnt = (Element) fstNode; 
              NodeList fstNmElmntLst = fstElmnt.getElementsByTagName("firstname"); 
              Element fstNmElmnt = (Element) fstNmElmntLst.item(0); 
              NodeList fstNm = fstNmElmnt.getChildNodes(); 
              System.out.println("First Name : " + ((Node) fstNm.item(0)).getNodeValue()); 
              NodeList lstNmElmntLst = fstElmnt.getElementsByTagName("lastname"); 
              Element lstNmElmnt = (Element) lstNmElmntLst.item(0); 
              NodeList lstNm = lstNmElmnt.getChildNodes(); 
              System.out.println("Last Name : " + ((Node) lstNm.item(0)).getNodeValue()); 
           }
        }
     } catch (Exception e) { 
        e.printStackTrace(); 
     } 
   } 
} 

Related Posts:

Dont just read, download and go, a thank will be helpful for the author to keep going a good job.

Share this post to tell other people about its

blog comments powered by Disqus