Я получаю информацию из большого XML-файла и использую для этого Python с целевым интерфейсом синтаксического анализа .Я хотел бы возможность установить предел, после которого анализ останавливается.Вот некоторый код:
Целевой код анализатора:
class TitleTarget(object):
def __init__(self, limit=None):
self.limit = limit
self.counter = 0
def start(self, tag, attrib):
if self.limit and self.counter > self.limit:
#### BREAK HERE ####
return False
#doProcessing(attrib)
self.counter = self.counter + 1
def end(self, tag):
pass
def data(self, data):
pass
def close(self):
pass
Код, инициирующий синтаксический анализ:
parser = etree.XMLParser(target = TitleTarget(limit))
etree.parse(file, parser)
Я знаю, что обработка переходит к «BREAK HERE»-линии, но я не нашел никакого способа остановить анализ.Я попытался вернуть True, False, [], and raising Error
, похоже, никто не работает.Он всегда обрабатывается, пока файл не заканчивается.
Есть ли способ остановить обработку бу, используя этот метод.