Hi! Habe mir heute Früh Das Buch von Martin Fowler gekauft. Mit 49,90 Euro zwar bitter teuer aber super interessant. Danke noch mal für die Empfehlung! Habe mich dann auch gleich herangemacht und mein Code sondiert. Aber ich glaube ich bin auf einen Bug in der xml.parsers.expat gestoßen. Wenn ich den Parser als Eigenschaft im __init__ instanziere, wirft der Parser eine Ausnahme wenn man ihn ein zweites mal ruft. Immer soll laut Parser nach dem letzten Tag in Zeile zwei Spalte 24 Kauderwelsch stehen, auch wenn der XML-Code nur eine Zeile hat oder 200. Also muss der Parser bei jedem Methodenaufruf der Klasse neu instanziert und wieder zerstört werden. Der Code in Auszügen: class XML_Parsing_Class: def __init__(self, _answer, _log, _info): [...] def process(self, question): # Parser an die Funktionen binden # Parser muss leider jedes mal neu instanziert # werden, sonst spinnt er rum. self.parser = expat.ParserCreate() self.parser.StartElementHandler = self._start self.parser.CharacterDataHandler = self._data # und parsen self.parser.Parse(question) del self.parser return self.reply def _start(self, tag, attrs): [...] def _data(self, data): [...] # Variable leeren self.last_tag = "" MfG Olaf -- =================================================== "Meine Meinung steht fest. Bitte verwirren sie mich nicht mit Tatsachen!" Unbekannt. =================================================== _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de
participants (1)
-
Olaf Radicke