У меня есть элемент XML, который выглядит так:
XML
<page>
<textline id="1">
<text>C</text>
<text>o</text>
<text>n</text>
<text>t</text>
<text>a</text>
<text>k</text>
<text>t</text>
</textline>
<textline id="2">
<text>
</text>
</textline>
<textline id="3">
<text>M</text>
<text>e</text>
</textline>
</page>
Я пытаюсь получить все теги <textline>
* только 1011 * :
with open(path_to_xml_file) as xml_file:
parsed_xml = BeautifulSoup(xml_file, 'xml')
text_lines = parsed_xml.find_all("textline")
Однако text_lines
включает в себя все дочерние элементы <textline>
- это означает, что он включает в себя все теги <text></text>
.
Кажется, я не могу найти в документации ничего, что объясняет, как выбирать только фактический тег (а не дочерние, дочерние и т. Д.).
Я нашел параметр recursive=False
, который должен выбирать только direct children, поэтому я подумал, что могу применить это к тегу page
:
text_lines = parsed_xml.find_all("page", recursive=False)
Но это возвращает пустой список: []
Ожидаемый результат:
<textline id="1"></textline>
<textline id="2"></textline>
<textline id="3"></textline>