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外的另一種讀寫文件的方式。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
