SAX解析XML
	
		
		系统
		
		2554 0
	
	
	  
  
    
    
      - 
        
          
            
              
                package
              
            
          
          
             com.xml.parseXml;   
          
        
      
 
      - 
        
            
        
      
 
      - 
        
          
            
              import
            
          
        
        
           java.io.InputStream;   
        
      
 
      - 
        
          
            
              import
            
          
        
        
           java.util.Stack;   
        
      
 
      - 
        
            
        
      
 
      - 
        
          
            
              import
            
          
        
        
           javax.xml.parsers.SAXParser;   
        
      
 
      - 
        
          
            
              import
            
          
        
        
           javax.xml.parsers.SAXParserFactory;   
        
      
 
      - 
        
            
        
      
 
      - 
        
          
            
              import
            
          
        
        
           org.xml.sax.Attributes;   
        
      
 
      - 
        
          
            
              import
            
          
        
        
           org.xml.sax.InputSource;   
        
      
 
      - 
        
          
            
              import
            
          
        
        
           org.xml.sax.SAXException;   
        
      
 
      - 
        
          
            
              import
            
          
        
        
           org.xml.sax.helpers.DefaultHandler;   
        
      
 
      - 
        
            
        
      
 
      - 
        
          
            
              import
            
          
        
        
           com.xml.bean.Address;   
        
      
 
      - 
        
          
            
              import
            
          
        
        
           com.xml.bean.ReadXmlFileStream;   
        
      
 
      - 
        
            
        
      
 
      - 
        
          
            
              public
            
          
        
        
           
        
        
          
            
              class
            
          
        
        
           SAXParseXml 
        
        
          
            
              extends
            
          
        
        
           DefaultHandler {   
        
      
 
      - 
        
            
        
      
 
      - 
        
            
        
      
 
      - 
        
              
        
        
          
            
              private
            
          
        
        
           
        
        
          
            
              static
            
          
        
        
           Address address = 
        
        
          
            
              new
            
          
        
        
           Address();   
        
      
 
      - 
        
            
        
      
 
      - 
        
              
        
        
          
            
              private
            
          
        
        
           Stack tags = 
        
        
          
            
              new
            
          
        
        
           Stack();   
        
      
 
      - 
        
            
        
      
 
      - 
        
              
        
        
          
            
              public
            
          
        
        
           SAXParseXml() {   
        
      
 
      - 
        
            
        
      
 
      - 
        
              }   
        
      
 
      - 
        
            
        
      
 
      - 
        
              
        
        
          
            @Override
          
        
        
            
        
      
 
      - 
        
              
        
        
          
            
              public
            
          
        
        
           
        
        
          
            
              void
            
          
        
        
           characters(
        
        
          
            
              char
            
          
        
        
          [] ch, 
        
        
          
            
              int
            
          
        
        
           start, 
        
        
          
            
              int
            
          
        
        
           length)   
        
      
 
      - 
        
                      
        
        
          
            
              throws
            
          
        
        
           SAXException {   
        
      
 
      - 
        
            
        
      
 
      - 
        
                  String tag = (String) tags.peek();   
        
      
 
      - 
        
                  
        
        
          
            
              if
            
          
        
        
           (tag.equals(
        
        
          
            "no"
          
        
        
          )) {   
        
      
 
      - 
        
                      address.setNo(
        
        
          
            
              new
            
          
        
        
           String(ch, start, length));   
        
      
 
      - 
        
                      System.out.println(address.getNo());   
        
      
 
      - 
        
                  }   
        
      
 
      - 
        
                  
        
        
          
            
              if
            
          
        
        
           (tag.equals(
        
        
          
            "addr"
          
        
        
          )) {   
        
      
 
      - 
        
                      address.setAddr(
        
        
          
            
              new
            
          
        
        
           String(ch, start, length));   
        
      
 
      - 
        
                      System.out.println(address.getAddr());   
        
      
 
      - 
        
                  }   
        
      
 
      - 
        
              }   
        
      
 
      - 
        
            
        
      
 
      - 
        
              
        
        
          
            @Override
          
        
        
            
        
      
 
      - 
        
              
        
        
          
            
              public
            
          
        
        
           
        
        
          
            
              void
            
          
        
        
           startElement(String uri, String localName, String qName,   
        
      
 
      - 
        
                      Attributes attrs) 
        
        
          
            
              throws
            
          
        
        
           SAXException {   
        
      
 
      - 
        
                  tags.push(qName);   
        
      
 
      - 
        
              }   
        
      
 
      - 
        
            
        
      
 
      - 
        
              
        
        
          
            
              public
            
          
        
        
           
        
        
          
            
              static
            
          
        
        
           
        
        
          
            
              void
            
          
        
        
           main(String[] args) {   
        
      
 
      - 
        
            
        
      
 
      - 
        
                  
        
        
          
            
              long
            
          
        
        
           lasting = System.currentTimeMillis();   
        
      
 
      - 
        
            
        
      
 
      - 
        
                  
        
        
          
            
              try
            
          
        
        
           {   
        
      
 
      - 
        
                      SAXParserFactory factory = SAXParserFactory.newInstance();   
        
      
 
      - 
        
                      SAXParser sp = factory.newSAXParser();   
        
      
 
      - 
        
                      SAXParseXml reader = 
        
        
          
            
              new
            
          
        
        
           SAXParseXml();   
        
      
 
      - 
        
                      InputStream in = ReadXmlFileStream.getXmlFileStream();   
        
      
 
      - 
        
                      sp.parse(
        
        
          
            
              new
            
          
        
        
           InputSource(in), reader);   
        
      
 
      - 
        
                      System.out.println(
        
        
          
            "运行时间:"
          
        
        
           + (System.currentTimeMillis() - lasting)   
        
      
 
      - 
        
                              + 
        
        
          
            " 毫秒"
          
        
        
          );   
        
      
 
      - 
        
            
        
      
 
      - 
        
                  } 
        
        
          
            
              catch
            
          
        
        
           (Exception e) {   
        
      
 
      - 
        
                      e.printStackTrace();   
        
      
 
      - 
        
                  }   
        
      
 
      - 
        
              }   
        
      
 
      - 
        
            
        
      
 
      - 
        
          }  
        
      
 
    
   
  
    
    
      - 
        
          
            
              
                package
              
            
          
          
             com.xml.parseXml;   
          
        
      
 
      - 
        
            
        
      
 
      - 
        
          
            
              import
            
          
        
        
           java.io.InputStream;   
        
      
 
      - 
        
          
            
              import
            
          
        
        
           java.util.Stack;   
        
      
 
      - 
        
            
        
      
 
      - 
        
          
            
              import
            
          
        
        
           javax.xml.parsers.SAXParser;   
        
      
 
      - 
        
          
            
              import
            
          
        
        
           javax.xml.parsers.SAXParserFactory;   
        
      
 
      - 
        
            
        
      
 
      - 
        
          
            
              import
            
          
        
        
           org.xml.sax.Attributes;   
        
      
 
      - 
        
          
            
              import
            
          
        
        
           org.xml.sax.InputSource;   
        
      
 
      - 
        
          
            
              import
            
          
        
        
           org.xml.sax.SAXException;   
        
      
 
      - 
        
          
            
              import
            
          
        
        
           org.xml.sax.helpers.DefaultHandler;   
        
      
 
      - 
        
            
        
      
 
      - 
        
          
            
              import
            
          
        
        
           com.xml.bean.Address;   
        
      
 
      - 
        
          
            
              import
            
          
        
        
           com.xml.bean.ReadXmlFileStream;   
        
      
 
      - 
        
            
        
      
 
      - 
        
          
            
              public
            
          
        
        
           
        
        
          
            
              class
            
          
        
        
           SAXParseXml 
        
        
          
            
              extends
            
          
        
        
           DefaultHandler {   
        
      
 
      - 
        
            
        
      
 
      - 
        
            
        
      
 
      - 
        
              
        
        
          
            
              private
            
          
        
        
           
        
        
          
            
              static
            
          
        
        
           Address address = 
        
        
          
            
              new
            
          
        
        
           Address();   
        
      
 
      - 
        
            
        
      
 
      - 
        
              
        
        
          
            
              private
            
          
        
        
           Stack tags = 
        
        
          
            
              new
            
          
        
        
           Stack();   
        
      
 
      - 
        
            
        
      
 
      - 
        
              
        
        
          
            
              public
            
          
        
        
           SAXParseXml() {   
        
      
 
      - 
        
            
        
      
 
      - 
        
              }   
        
      
 
      - 
        
            
        
      
 
      - 
        
              
        
        
          
            @Override
          
        
        
            
        
      
 
      - 
        
              
        
        
          
            
              public
            
          
        
        
           
        
        
          
            
              void
            
          
        
        
           characters(
        
        
          
            
              char
            
          
        
        
          [] ch, 
        
        
          
            
              int
            
          
        
        
           start, 
        
        
          
            
              int
            
          
        
        
           length)   
        
      
 
      - 
        
                      
        
        
          
            
              throws
            
          
        
        
           SAXException {   
        
      
 
      - 
        
            
        
      
 
      - 
        
                  String tag = (String) tags.peek();   
        
      
 
      - 
        
                  
        
        
          
            
              if
            
          
        
        
           (tag.equals(
        
        
          
            "no"
          
        
        
          )) {   
        
      
 
      - 
        
                      address.setNo(
        
        
          
            
              new
            
          
        
        
           String(ch, start, length));   
        
      
 
      - 
        
                      System.out.println(address.getNo());   
        
      
 
      - 
        
                  }   
        
      
 
      - 
        
                  
        
        
          
            
              if
            
          
        
        
           (tag.equals(
        
        
          
            "addr"
          
        
        
          )) {   
        
      
 
      - 
        
                      address.setAddr(
        
        
          
            
              new
            
          
        
        
           String(ch, start, length));   
        
      
 
      - 
        
                      System.out.println(address.getAddr());   
        
      
 
      - 
        
                  }   
        
      
 
      - 
        
              }   
        
      
 
      - 
        
            
        
      
 
      - 
        
              
        
        
          
            @Override
          
        
        
            
        
      
 
      - 
        
              
        
        
          
            
              public
            
          
        
        
           
        
        
          
            
              void
            
          
        
        
           startElement(String uri, String localName, String qName,   
        
      
 
      - 
        
                      Attributes attrs) 
        
        
          
            
              throws
            
          
        
        
           SAXException {   
        
      
 
      - 
        
                  tags.push(qName);   
        
      
 
      - 
        
              }   
        
      
 
      - 
        
            
        
      
 
      - 
        
              
        
        
          
            
              public
            
          
        
        
           
        
        
          
            
              static
            
          
        
        
           
        
        
          
            
              void
            
          
        
        
           main(String[] args) {   
        
      
 
      - 
        
            
        
      
 
      - 
        
                  
        
        
          
            
              long
            
          
        
        
           lasting = System.currentTimeMillis();   
        
      
 
      - 
        
            
        
      
 
      - 
        
                  
        
        
          
            
              try
            
          
        
        
           {   
        
      
 
      - 
        
                      SAXParserFactory factory = SAXParserFactory.newInstance();   
        
      
 
      - 
        
                      SAXParser sp = factory.newSAXParser();   
        
      
 
      - 
        
                      SAXParseXml reader = 
        
        
          
            
              new
            
          
        
        
           SAXParseXml();   
        
      
 
      - 
        
                      InputStream in = ReadXmlFileStream.getXmlFileStream();   
        
      
 
      - 
        
                      sp.parse(
        
        
          
            
              new
            
          
        
        
           InputSource(in), reader);   
        
      
 
      - 
        
                      System.out.println(
        
        
          
            "运行时间:"
          
        
        
           + (System.currentTimeMillis() - lasting)   
        
      
 
      - 
        
                              + 
        
        
          
            " 毫秒"
          
        
        
          );   
        
      
 
      - 
        
            
        
      
 
      - 
        
                  } 
        
        
          
            
              catch
            
          
        
        
           (Exception e) {   
        
      
 
      - 
        
                      e.printStackTrace();   
        
      
 
      - 
        
                  }   
        
      
 
      - 
        
              }   
        
      
 
      - 
        
            
        
      
 
      - 
        
          }  
        
      
 
    
   
  
    
      SAX解析XML
    
  
 
 
 	
	
	
	
	
			
	
		
			
				
					更多文章、技术交流、商务合作、联系博主
					
						微信扫码或搜索:z360901061
					
					
					
						微信扫一扫加我为好友
						
							QQ号联系:  360901061
						
					 
				 
			 
		 
	 
	
		
			
				
					您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。
					
						【本文对您有帮助就好】元