SAX is used in Python to parse XML instances

  • 2020-04-02 14:24:20
  • OfStack

SAX is an event-driven API. Parsing an XML document with SAX involves two parts: a parser and an event handler. The parser is responsible for reading the XML document and sending events, such as element start and element end events, to the event handler. The event handler is responsible for responding to the event and processing the XML data that is passed.

Example:


import  sys, string from  xml.sax import  handler, make_parser
 
 class  TestHandler(handler.ContentHandler):                       
         def  __init__(self):                                                               
                 pass
                
         def  startDocument(self):           
                 print  "Document Start ..."
               
        def  endDocument(self):                
                print  "Document End ..."
               
        def  startElement(self, name, attrs):
                print  'start tag:', name
               
        def  endElement(self, name):
                print  'end tag:', name    
               
        def  characters(self, chrs):                                                    
                print  chrs
               
    
def  test():    
        handler = TestHandler()    
        parser = make_parser()    
        parser.setContentHandler(handler)
        f = open(sys.argv[1], 'r')    
        parser.parse(f)    
        f.close()
    
if  __name__ == '__main__':
        test()

Another way to read and write files besides the DOM.


Related articles: