Я хочу создать список со всеми значениями идентификатора / атрибута элемента на основе условий в подэлементах.При создании цикла выводом является список со значением атрибута (id) для каждого подэлемента.Здесь мне просто нужно значение атрибута (id) в элементе 'playevent' один раз для каждого родительского элемента.
Вот часть файла XML:
</file>
<ALL_INSTANCES>
<playerevent id="1">
<starttime></starttime>
<endtime></endtime>
<player>/player>
<quarter></quarter>
<result>
<kind number="1"></kind>
<means number="1"></means>
</result>
</playerevent>
<playevent id="2" type=">
<starttime></starttime>
<endtime></endtime>
<zone></zone>
<label>
<group></group>
<text>/text>
</label>
<label>
<group></group>
<text></text>
</label>
<label>
<text></text>
</label>
<label>
<group></group>
<text></text>
</label>
<score team=""></score>
<score team=""></score>
<label>
<text></text>
</label>
<team></team>
</playevent>
Edit: This is another element with subelement 'playevent'
<playevent id="10" type="">
<starttime></starttime>
<endtime></endtime>
<zone></zone>
<label>
<group></group>
<text></text>
</label>
<label>
<group></group>
<text></text>
</label>
<label>
<group>/group>
<text></text>
</label>
<label>
<text></text>
</label>
<score team=""></score>
<score team=""></score>
<previousevent>
</previousevent>
<label>
<text></text>
</label>
<label>
<text></text>
</label>
<team></team>
</playevent>
Я пыталсянесколько решений, таких как создание функций, которые дают уникальные значения в списке.Я попытался .findall (), чтобы изменить цикл.Но все результаты одинаковы.
for subelem1 in elem:
for subelem2 in subelem1:
for subelem2 in subelem1.findall('previousevent'):
if subelem2.tag == 'previousevent':
list = subelem1.get('id')
print(list)
Текущий выход: 2 2 2 2 2 2 2 2 2 2 2 2
Ожидаемый результат: 2