Python中使用SAX解析xml实例
SAX是一种基于事件驱动的API。利用SAX解析XML文档牵涉到两个部分:解析器和事件处理器。解析器负责读取XML文档,并向事件处理器发送事件,如元素开始跟元素结束事件;而事件处理器则负责对事件作出相应,对传递的XML数据进行处理。
实例:
import sys,stringfrom xml.saximport handler,make_parser class TestHandler(handler.ContentHandler): def __init__(self): pass def startDocument(self): print "DocumentStart..." def endDocument(self): print "DocumentEnd..." def startElement(self,name,attrs): print 'starttag:',name def endElement(self,name): print 'endtag:',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()
除了DOM外的另一种读写文件的方式。