import sys import xml.sax import xml.sax.handler class SongXmlBuilder(xml.sax.handler.ContentHandler): def startElement(self, name, attrs): print('Starting element', name) print('--> attributes=', attrs.items()) def endElement(self, name): pass #print('Ending element', name) def setDocumentLocator(self, locator): print('Setting document locator!') self._locator = locator def load_jukebox(fname): handler = SongXmlBuilder() try: xml.sax.parse(fname, handler) except: print("Unexpected error:", sys.exc_info()) print(handler._locator.getLineNumber(), handler._locator.getColumnNumber()) if __name__ == '__main__': load_jukebox(sys.argv[1])