Вернуть объект после разбора xml с помощью SAX - PullRequest
1 голос
/ 09 июня 2010

У меня есть несколько больших файлов XML для анализа, и я создал объектный класс, содержащий мои соответствующие данные.К сожалению, я не уверен, как вернуть объект для дальнейшей обработки.Прямо сейчас я перехватываю свои данные, а через несколько минут разрываю объект для доступа.Это кажется расточительным, и, безусловно, должен быть способ захвата моих данных без попадания на диск.

def endElement(self, name):
    if name == "info": # done collecting this iteration
        self.data.setX(self.x)
        self.data.setY(self.y)
    elif name == "lastTagOfInterest": # done with file
        # want to return my object from here
        filehandler = open(self.outputname + ".pi", "w")
        pickle.dump(self.data, filehandler)
        filehandler.close()

Я пытался вставить выражение return в мой тег endElement, но, похоже, это не проходитцепочка, куда я вызываю SAX-парсер.

Спасибо за любые подсказки.

1 Ответ

1 голос
/ 09 июня 2010

Бах, сидел и думал об этом секунду, и ответ был очевиден.Вернитесь, выйдите из метода, а затем просто извлеките поле данных из созданного мной объекта ContentHandler.

...