Latest Tutorials| Questions and Answers|Ask Questions?|Site Map



Home Xml Reading XML from a File

Related Tutorials


 
 

Share on Google+Share on Google+

Reading XML from a File

Advertisement
This Example shows you how to Load Properties from the XML file via a DOM document.

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[] argsthrows 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 = (Elementnode;
 NodeList nodelist = 
  element.getElementsByTagName
("name");
 Element element1 = (Elementnodelist.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

     

Advertisements

If you enjoyed this post then why not add us on Google+? Add us to your Circles



Liked it!  Share this Tutorial


Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Posted on: August 24, 2008

Related Tutorials

Discuss: Reading XML from a File  

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments:1
rahulrishi
March 21, 2012
xml and java

import java.io.*; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.xml.parsers.*; import org.w3c.dom.*; import javax.xml.transform.*; import javax.xml.transform.dom.*; import javax.xml.transform.stream.*; import org.xml.sax.SAXException; public class TestingServlet extends HttpServlet { String name1=null; String requestXmlFile1=null; String requestPage1=null; String requestProviderClass1=null; String responseXmlFile1=null; String responsePage1=null; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException , IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); name1 = request.getParameter("Name"); requestXmlFile1 = request.getParameter("RequestXMLFile"); requestPage1 = request.getParameter("RequestPage"); requestProviderClass1 = request.getParameter("RequestProviderClass"); responseXmlFile1= request.getParameter("ResponseXMLFile"); responsePage1 = request.getParameter("ResponsePage"); try{ out.println(4); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); out.println(3); DocumentBuilder documentBuilder = factory.newDocumentBuilder(); out.println(1); Document document = documentBuilder.newDocument(); out.println(1); document = documentBuilder.parse("Services.xml"); out.println(6); Element rootElement = document.createElement("Services"); document.appendChild(rootElement); Element service = document.createElement("Service"); Element name = document.createElement("Name"); name.appendChild(document.createTextNode("Search")); service.appendChild(name); Element requestXmlFile=document.createElement("RequestXMLFile"); requestXmlFile.appendChild(document.createTextNode("SearchRequest.xml")); service.appendChild(requestXmlFile); Element requestPage=document.createElement("RequestPage"); requestPage.appendChild(document.createTextNode("http://localhost:8084/WebServiceForFrontech/SearchProduct.jsp")); service.appendChild(requestPage); Element requestProviderClass=document.createElement("RequestProviderClass"); requestProviderClass.appendChild(document.createTextNode("SearchServlet")); service.appendChild(requestProviderClass); Element responseXmlFile=document.createElement("ResponseXMLFile"); responseXmlFile.appendChild(document.createTextNode("SearchResponse.xml")); service.appendChild(responseXmlFile); Element responsePage=document.createElement("ResponsePage"); responsePage.appendChild(document.createTextNode("http://localhost:8084/WebServiceForFrontech/SearchPoductResult.jsp")); service.appendChild(responsePage); rootElement.appendChild(service); TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); DOMSource source = new DOMSource(document); StreamResult result = new StreamResult(new FileOutputStream("Services.xml")); transformer.transform(source,result ); out.println(5); }catch(Exception e){} } public void addNewService() throws IOException ,ParserConfigurationException , SAXException , TransformerConfigurationException , FileNotFoundException , TransformerException { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder documentBuilder = factory.newDocumentBuilder(); Document document = documentBuilder.newDocument(); Element rootElement = document.createElement("Services"); document.appendChild(rootElement); Element service = document.createElement("Service"); Element name = document.createElement("Name"); name.appendChild(document.createTextNode("Search")); service.appendChild(name); Element requestXmlFile=document.createElement("RequestXMLFile"); requestXmlFile.appendChild(document.createTextNode("SearchRequest.xml")); service.appendChild(requestXmlFile); Element requestPage=document.createElement("RequestPage"); requestPage.appendChild(document.createTextNode("http://localhost:8084/WebServiceForFrontech/SearchProduct.jsp")); service.appendChild(requestPage); Element requestProviderClass=document.createElement("RequestProviderClass"); requestProviderClass.appendChild(document.createTextNode("SearchServlet")); service.appendChild(requestProviderClass); Element responseXmlFile=document.createElement("ResponseXMLFile"); responseXmlFile.appendChild(document.createTextNode("SearchResponse.xml")); service.appendChild(responseXmlFile); Element responsePage=document.createElement("ResponsePage"); responsePage.appendChild(document.createTextNode("http://localhost:8084/WebServiceForFrontech/SearchPoductResult.jsp")); service.appendChild(responsePage); rootElement.appendChild(service); TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); DOMSource source = new DOMSource(document); StreamResult result = new StreamResult(new FileOutputStream("Services.xml")); transformer.transform(source,result ); } } this code doent work properly please help me
DMCA.com