JavaEE_SAX

本文介绍了SAX解析器的基本概念及其在Java环境中的使用方法。详细讲解了SAX解析器的主要接口,包括ContentHandler、DTDHandler、EntityResolver、ErrorHandler及DefaultHandler,并提供了示例代码展示如何创建和配置XMLReader。

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(
                 &quot;org.apache.xerces.parsers.SAXParser&quot;);
                3.create  SAX Parser

               

                 SAXParserFactory spFactory = SAXParserFactory.newInstance();
                 SAXParser sParser = spFactory.newSAXParser();


      Iparhan_Java  2016-6-23  GoodLuck!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值