Как прекратить анализировать xml документ с SAX когда-либо?

Диапазон Python () может только сделать целые числа, не плавающую точку. В Вашем конкретном случае можно использовать понимание списка вместо этого:

[x * 0.1 for x in range(0, 10)]

(Заменяют вызов для расположения с тем выражением.)

Для более общего случая, можно хотеть записать пользовательскую функцию или генератор.

25
задан Diablo.Wu 28 August 2009 в 06:14
поделиться

2 ответа

Создайте специализацию SAXException и выбросьте ее (вам не нужно создавать свою собственную специализацию, но это означает, что вы можете специально отлавливать ее самостоятельно и обрабатывать другие исключения SAXException как фактические ошибки).

public class MySAXTerminatorException extends SAXException {
    ...
}

public void startElement (String namespaceUri, String localName,
                           String qualifiedName, Attributes attributes)
                        throws SAXException {
    if (someConditionOrOther) {
        throw new MySAXTerminatorException();
    }
    ...
}
39
ответ дан 28 November 2019 в 21:03
поделиться

Мне неизвестен механизм для прерывания синтаксического анализа SAX, кроме техники генерации исключения , описанной Томом . Альтернативой является переключение на использование парсера StAX (см. pull vs push ).

4
ответ дан 28 November 2019 в 21:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: