Есть ли быстрый анализатор XML в Python, который позволяет мне получить начало тега в виде байтового смещения в потоке?
Я работаю с потенциально огромными XML-файлами, содержащими сложную информацию трассировки из моих проектов.
Я хотел бы создать индексы для этих XML-файлов, чтобы можно было быстро найти подразделы XML-документа без необходимости загружать все это в память.
Если я создал «полочный» индекс, который может содержать такую информацию, как «книги для автора Джо» со смещением [22322, 35446, 54545], то я могу просто открыть xml-файл, как обычный текстовый файл, и искать эти смещения, а затем было это одному из парсера DOM, который принимает файл или строки.
Часть, которую я еще не понял, это как быстро разобрать XML и создать такой индекс.
Так что мне нужен быстрый SAX-парсер, который позволяет мне находить начальное смещение тегов в файле вместе с начальными событиями. Таким образом, я могу проанализировать подраздел XML вместе с отправной точкой в документе, извлечь информацию о ключе и сохранить ключ и смещение в индексе полки.