examples/xml/sax.py
from __future__ import print_function import xml.sax file = 'examples/xml/data.xml' class EventHandler(xml.sax.ContentHandler): def startElement(self, name, attrs): print('start', (name, attrs._attrs)) def characters(self, text): if not text.isspace(): print('text', text) def endElement(self, name): print('end', name) xml.sax.parse(file, EventHandler())
start (u'main', {}) start (u'person', {u'id': u'1'}) start (u'fname', {}) text Foo end fname start (u'lname', {}) text Bar end lname end person start (u'person', {u'id': u'3'}) start (u'fname', {}) text Moo end fname start (u'lname', {}) text Zorg end lname start (u'email', {u'id': u'home'}) text moo@zorghome.com end email start (u'email', {u'id': u'work'}) text moo@work.com end email end person end main