Java tutorial
import java.io.StringReader; 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; public class MainClass { static public void main(String[] arg) throws Exception { boolean validate = false; SAXParserFactory spf = SAXParserFactory.newInstance(); spf.setValidating(validate); XMLReader reader = null; SAXParser parser = spf.newSAXParser(); reader = parser.getXMLReader(); reader.setErrorHandler(new MyErrorHandler()); reader.parse(new InputSource(new StringReader(xmlString))); } static String xmlString = "<PHONEBOOK>" + " <PERSON>" + " <NAME>Joe Wang</NAME>" + " <EMAIL>joe@yourserver.com</EMAIL>" + " <TELEPHONE>202-999-9999</TELEPHONE>" + " <WEB>www.java2s.com</WEB>" + " </PERSON>" + " <PERSON> " + "<NAME>Karol</NAE>" + // error here " <EMAIL>karol@yourserver.com</EMAIL>" + " <TELEPHONE>306-999-9999</TELEPHONE>" + " <WEB>www.java2s.com</WEB>" + " </PERSON>" + " <PERSON>" + " <NAME>Green</NAME>" + " <EMAIL>green@yourserver.com</EMAIL>" + " <TELEPHONE>202-414-9999</TELEPHONE>" + " <WEB>www.java2s.com</WEB>" + " </PERSON>" + " </PHONEBOOK>"; } 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()); } }