MainClass.java Source code

Java tutorial

Introduction

Here is the source code for MainClass.java

Source

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());
    }
}