天天看點

關于 Python xml.sax 解析

from xml.sax import *

1、make_parser() 建立并傳回SAX  XMLReader的對象 2、parse(filename,handler)     執行解析,handler必須指定何種解析方式

      解析出檔案中的一條語句,儲存name(标簽名),attrs(屬性) 等資訊    

3、xml.sax.handler 四種對xml的解析方式: content handlers, DTD handlers, error handlers, and entity resolvers 常用的内容處理方式: ContentHandler(要解析的類,繼承contenthandler)

ContentHandler. startElement ( name,   attrs ) 開始解析的信号(無命名空間時) attr是可能被重複利用的Attributes屬性對象

eg: schd.py:     。。。。。         self.parser = make_parser()建立         self.parser.setContentHandler(XMLParse(self))設定解析方式

xmlparse.py: class XMLParse(ContentHandler):繼承自ContentHandler     。。。。。

 def startElement(self,name,attrs):         if not name in self.name:             return self.attrs = attrs

loadfile.py: 。。。。。      self.schd.parser.parse(file)執行解析