Если существует более одной лицензии, они должны указывать один ключ. Если больше чем 1, это должно соответствовать одной лицензии
Входные данные файла:
<report>
<report_header> SunDirect<report_header/>
<Category> Single </Category>
<Licenses>
<License>1234</License>
<License>525</License>
</Licenses>
<report_header> Tatasky<report_header/>
<Category> Double </Category>
<Licenses>
<License>322</License>
<License>1285</License>
<License>1896</License>
</Licenses>
<report_header> SunDirect <report_header/>
<Category> Multiple </Category>
<Licenses>
<License>1222</License>
</Licenses>
</report>
Исходный код:
import xml.etree.ElementTree as ET
tree = ET.parse('sample.xml')
root = tree.getroot()
way_list=[]
for item in root.findall('./reportheader'):
for child in item:
if child.tag == 'Category':
way_list['category'] = child.text
if child.tag == 'Licenses':
for item1 in child.iter('License'):
way_list['license'] = item1.text
print(way_list)
Токовый выход:
{category: single, License: 1234}
{category: single, License: 525}
{category: Double, License: 322}
{category: Double, License: 1285}
{category: Double, License: 1896}
Ожидаемый выход:
{category: single, License: 1234,525}
{category: Double, License: 322,1285,1896}