Java by API/org.xml.sax/ErrorHandler — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Текущая версия на 17:38, 31 мая 2010
implements ErrorHandler
<source lang="java">
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.ru</EMAIL>" + " <TELEPHONE>202-999-9999</TELEPHONE>" + " <WEB>www.jexp.ru</WEB>" + " </PERSON>" + " <PERSON> " + "<NAME>Karol</NAE>" + // error here " <EMAIL>karol@yourserver.ru</EMAIL>" + " <TELEPHONE>306-999-9999</TELEPHONE>" + " <WEB>www.jexp.ru</WEB>" + " </PERSON>" + " <PERSON>" + " <NAME>Green</NAME>" + " <EMAIL>green@yourserver.ru</EMAIL>" + " <TELEPHONE>202-414-9999</TELEPHONE>" + " <WEB>www.jexp.ru</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()); }
}
</source>