Mega Code Archive

 
Categories / Java Tutorial / XML
 

SAX Error Checking

import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.ErrorHandler; import org.xml.sax.InputSource; import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; import org.xml.sax.XMLReader; class MyErrorHandler implements ErrorHandler {   public void warning(SAXParseException e) throws SAXException {     show("Warning", e);     throw (e);   }   public void error(SAXParseException e) throws SAXException {     show("Error", e);     throw (e);   }   public void fatalError(SAXParseException e) throws SAXException {     show("Fatal Error", e);     throw (e);   }   private void show(String type, SAXParseException e) {     System.out.println(type + ": " + e.getMessage());     System.out.println("Line " + e.getLineNumber() + " Column " + e.getColumnNumber());     System.out.println("System ID: " + e.getSystemId());   } } // Installation and Use of an Error Handler in a SAX Parser public class SAXCheck {   static public void main(String[] arg) throws Exception {     boolean validate = false;     validate = true;     SAXParserFactory spf = SAXParserFactory.newInstance();     spf.setValidating(validate);     XMLReader reader = null;     SAXParser parser = spf.newSAXParser();     reader = parser.getXMLReader();     reader.setErrorHandler(new MyErrorHandler());     InputSource is = new InputSource("test.xml");     reader.parse(is);   } } Error: Document root element "roots", must match DOCTYPE root "null". Line 1 Column 8 System ID: file:///C:/Java_Dev/eclipse31/Eclipse/test.xml //File: test.xml <roots>   <a>     <b>text</b>   </a> </roots>