Home Xml Handling Errors While Parsing an XML File



Handling Errors While Parsing an XML File
Posted on: August 24, 2008 at 12:00 AM
This Example shows you how to Handle Errors While parsing an XML document.

Handling Errors While Parsing an XML File

     

This Example shows you how to Handle Errors While parsing an XML document. JAXP (Java API for XML Processing) is an interface which provides parsing of xml documents. Here the Document BuilderFactory is used to create new DOM parsers.There are some of the methods used in code given below for Handling Errors:-

SAXParserFactory saxpf = SAXParserFactory.newInstance():-This method defines a factory API that enables applications to configure and obtain a SAX based parser to parse XML documents.

SAXParser parser = saxpf.newSAXParser():-By using this we create a new instance of a SAXParser using the currently configured factory.

SAXHandler handler = new SAXHandler():-it is a supportive class for SAXBuilder.

Xml code for the program generated is:-

<?xml version="1.0" encoding="UTF-8"?>
<!-- Information About Employees -->
<Company>
  <Employee Id="Rose-2345">
  <CompanyName>Newstrack</CompanyName>
  <City>Rohini</City>>
  <name>Girish Tewari</name>
  <Phoneno>1234567890</Phoneno>
 <Doj>May 2008</Doj>
  </Employee>
  <!-- Information about other  Employee -->  
  <Employee Id="Rose-2346">
  <CompanyName>RoseIndia.net</CompanyName>
 <City>Lucknow</City>
 <name>Mahendra Singh</name>
  <Phoneno>123652314</Phoneno>
  <Doj>May 2008</Doj>
  </Employee>
</Company>

HandlingErrors.java

/* 
 * @Program to Handle Errors While Parsing an XML File 
 * HandlingErrors.java 
 * Author:-RoseIndia Team
 * Date:-23-July-2008
 */

import java.io.File;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import org.xml.sax.helpers.DefaultHandler;

public class HandlingErrors {
  public static void main(String[] args) throws Exception {
  File f = new File("Document4.xml");
  SAXParserFactory saxpf = SAXParserFactory.newInstance();
  saxpf.setValidating(true);
  SAXParser parser = saxpf.newSAXParser();
  SAXHandler handler = new SAXHandler();
  parser.parse(f, handler);
  }

  private static final class SAXHandler extends DefaultHandler {
  public void startElement(String uri, String localName,
 String qName, Attributes attrs) throws SAXException {
  if (qName.equals("Company")) {
  }
  }
  public void error(SAXParseException ex) throws SAXException {
  System.out.println("ERROR: " + ex.getLineNumber() +
  "" + ex);
  }
  public void fatalError(SAXParseException ex) throws SAXException {
  System.out.println("FATAL_ERROR:  " +
  ex.getLineNumber() + " " + ex);
  }
  public void warning(SAXParseException ex) throws SAXException {
  System.out.println("WARNING:  " +
  ex.getLineNumber() + " " + ex);
  }
  }
}

Output of the program:-

ERROR: 3org.xml.sax.SAXParseException: Document root element "Company", 
must match DOCTYPE root "null".
ERROR: 3org.xml.sax.SAXParseException: Document is invalid: no grammar found.


DownLoad Source Code

Related Tags for Handling Errors While Parsing an XML File:
javacxmlapierroridedomparsinguiprocessinterfacebuildapplicationiomethodsparseparsermethodsedvifactorynewparsersinstanceintapplicationsthisidaisaxappcreateprocessingconfigdefineshowhandleforexamplewhiletoconfigurehandlingbaseexamldprocssiwssheildocerrorsaxbuilderenabledocumentsdesrsiliuseceinmlasstafactormntparcajjaxpacebasedesasepimehowproppcatdotorsaxparserxawhichxampssodefinesctoressatishaivmpleaandaractcodcodeconfsaxpwinsvaxmssrocthshoavbelostabablatiaphatctofacefactfinicaicapleplprocesprndodsodeonomo


More Tutorials from this section

Ask Questions?    Discuss: Handling Errors While Parsing an XML File  

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 

Ask Questions?

If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.

Ask your questions, our development team will try to give answers to your questions.