У меня есть массивный XML-файл. Однако меня интересует только одно маленькое поддерево этого массивного дерева. Я хочу разобрать это поддерево, но я не хочу тратить время на разбор всего массивного дерева, когда собираюсь использовать только небольшую его часть.
В идеале я хотел бы сканировать файл, пока не найду начало этого поддерева, проанализировать поддерево, пока не достигну его конца, а затем даже не потрудиться прочитать остальную часть файла. Может быть, даже описать интересующее меня поддерево с помощью выражения XPath. Есть ли способ сделать это, используя lxml ? Похоже, что вы могли бы сделать что-то подобное, используя метод iterparse()
, но, основываясь на документах, похоже, что он не производит анализируемый объект, который я хочу использовать. Есть предложения?
(Использование lxml не обязательно, но я хочу использовать Python, и в идеале я бы хотел, чтобы он был быстрым.)