sax是一种基于事件驱动的api。利用sax解析xml文档牵涉到两个部分:解析器和事件处理器。解析器负责读取xml文档,并向事件处理器发送事件,如元素开始跟元素结束事件;而事件处理器则负责对事件作出相应,对传递的xml数据进行处理。
实例:
代码如下:
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()
除了dom外的另一种读写文件的方式。