expat2.py

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

PY
39
字号
#!/usr/bin/pythonimport sysfrom xml.parsers import expatdef normalize_whitespace(text):    return " ".join(text.split())class SimpleParse:    def __init__(self):        self.parser   = expat.ParserCreate()        self.parser.StartElementHandler = self.start_element        self.parser.EndElementHandler = self.end_element        self.parser.CharacterDataHandler = self.character_data        self.cdata = [ ]            def parse(self,file):        self.parser.ParseFile(file)    def print_cdata(self):        txt = normalize_whitespace("".join(self.cdata))        if txt: print repr(normalize_whitespace(txt))        self.cdata = [ ]            def start_element(self,name,attrs):        self.print_cdata()        print "Start:",name,attrs                def character_data(self,data):        self.cdata.append(data)                def end_element(self,name):        self.print_cdata()                print "End:", namep = SimpleParse()p.parse(open(sys.argv[1]))

⌨️ 快捷键说明

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