SAX是一种基于事件驱动的API。利用SAX解析XML文档牵涉到两个部分:解析器和事件处理器。解析器负责读取XML文档,并向事件处理器发送事件,如元素开始跟元素结束事件;而事件处理器则负责对事件作出相应,对传递的XML数据进行处理。
实例:
<br />import sys, string from xml.sax import handler, make_parser<br /> <br /> class TestHandler(handler.ContentHandler): <br /> def __init__(self): <br /> pass<br /> <br /> def startDocument(self): <br /> print "Document Start ..."<br /> <br /> def endDocument(self): <br /> print "Document End ..."<br /> <br /> def startElement(self, name, attrs):<br /> print 'start tag:', name<br /> <br /> def endElement(self, name):<br /> print 'end tag:', name <br /> <br /> def characters(self, chrs): <br /> print chrs<br /> <br /> <br />def test(): <br /> handler = TestHandler() <br /> parser = make_parser() <br /> parser.setContentHandler(handler)<br /> f = open(sys.argv[1], 'r') <br /> pa<strong style="color:transparent">本文来源gaodai#ma#com搞@@代~&码网^</strong>rser.parse(f) <br /> f.close()<br /> <br />if __name__ == '__main__':<br /> test()<br />
除了DOM外的另一种读写文件的方式。