expat2.py

来自「python web programming 部分」· Python 代码 · 共 37 行

PY
37
字号
#!/usr/bin/pythonimport sysfrom xml.parsers import expatclass GetElements:    def __init__(self,name):        self.name     = name        self.parser   = expat.ParserCreate()        self.parser.StartElementHandler = self.start_element        self.parser.EndElementHandler = self.end_element        self.parser.CharacterDataHandler = self.character_data    def parse(self,file):        self.results = [ ]        self.currentname = None        self.parser.ParseFile(file)        return self.results    def start_element(self,name,attrs):        if name == self.name:            self.currentattrs = attrs            self.currentname = name            self.currentdata = [ ]                def character_data(self,data):        if self.currentname == self.name:            self.currentdata.append(data)                def end_element(self,name):        if name == self.currentname:            self.results.append(("".join(self.currentdata),self.currentattrs))            self.currentname = Nonep = GetElements(sys.argv[1])print p.parse(open(sys.argv[2]))

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?