There are knowledge about SAX with parser JavaEE.
1.SAX (Simple API for Xml) Its a greate parser about JavaEE and XML.
2. SupInterface : org.xml.sax
!1. ContentHandler : this is etends SAX packge
void startDocument()
void endDocument()
void startElement(String uri, String localName, String qName, Attributes atts)
void endElement(String uri, String localName, String qName)
void characters(char[ ] ch, int start, int length)
!2.DTDHandler: this is in SAX packge too , about all DTD in xml
void startDocumevoid notationDecl(String name, String publicId, String systemId) nt()
void unparsedEntityDecl(String name, String publicId, String systemId, String notationName)
!3.EntityResolver: body serach of xml
public InputSource resolveEntity(String publicId, String systemId)
!4.ErrorHandler : hander exception when happend problem.
void error(SAXParseException exception)
void fatalError(SAXParseException exception)
void warning(SAXParseException exception)
!5. DefaultHandler : its implements other four interface , so i support this interface to use in project.
import org.xml.sax.*;
import org.xml.sax.helpers.DefaultHandler;
public class TestDefaultHandler extends DefaultHandler{
public void startDocument() throws SAXException{
System.out.println(""); }
public void endDocument() throws SAXException{
System.out.println("解析完成!"); }
public void startElement(String uri, String localName, String qName,
Attributes atts) throws SAXException {
System.out.println(":"+qName);
}
public void endElement(String uri, String localName, String qName)
throws SAXException{
System.out.println("对"+qName+"的");
}
}
!6.XMLReader : its the must be interface in SAX2 in xml java.<span style="font-size:14px;"> import org.xml.sax.*;
import org.xml.sax.helpers.*;
public class TestXMLReader{
public TestXMLReader(){
try{
XMLReader reader = XMLReaderFactory.createXMLReader(
"org.apache.xerces.parsers.SAXParser");
System.out.println("Success");
//MyContentHandler implements ContentHandleri interface 的类
reader.setContentHandler(new MyContentHandler());
reader.setDTDHandler(new MyDTDHandler());
//对test.xml
reader.parse("test.xml");
System.out.println("");
}catch(SAXException e){e.printStackTrace();}</span>
}
}
NOTE :
1. create XMLReader from default system
XMLReader reader = XMLReaderFactory.createXMLReader();
2.create XMl Reader
XMLReader reader = XMLReaderFactory.createXMLReader(
"org.apache.xerces.parsers.SAXParser");
3.create SAX Parser
SAXParserFactory spFactory = SAXParserFactory.newInstance();
SAXParser sParser = spFactory.newSAXParser();
Iparhan_Java 2016-6-23 GoodLuck!