Я не хочу давать полный (копируемый и вставляемый) ответ на Python, так как вопрос очень редкий. Тем не менее, я могу дать несколько советов:
Вы можете получить головы, используя XPath, используя синтаксис: nth-child () / [], например.
//h4[1]
для получения 1-го h4
= Введение, //h4[2]
для 2-го и т. Д.
Затем вы можете выбрать братьев и сестер аналогичным образом, например,
//h4[3]/following-sibling::p[1]
//h4[3]/following-sibling::p[2]
//h4[3]/following-sibling::p[3]
Для получения трех частей отчетов или //h4[2]/following-sibling::p[1]
для получения текста тезисов.
Предлагаю взглянуть на 2.7 XML API :
import xml.etree.ElementTree as ET
root = ET.parse(filename)
result = ''
for elem in root.findall('//h4[2]/following-sibling::p[1]'):
result = elem.text