Как с помощью python правильно распарсить xml

Есть такой xml:

<price>
<date>2020-12-12 14:52</date>
<firmName>Интернет магазин Lekos</firmName>
<firmId>25106</firmId>
<categories>
...
</categories>
<items>
<item>
<id>52</id>
<categoryId>68</categoryId>
<code>234508</code>
<vendor>Uwatch</vendor>
<stock>В наличии</stock>
<param name="Тип механизма">Кварцевые</param>
<param name="Водостойкость">Базовая</param>
<param name="Тип ремешка">Каучуковый </param>
<param name="Пол">Мужские, Женские</param>
<param name="Подсветка">Электронная</param>
<param name="Тип индикации">Электронные</param>
<param name="Функции">Уведомление о звонках, С пульсометром, С измерением давления, С сенсорным экраном</param>
<param name="Стиль">Спортивные, Умные</param>
<param name="Стекло">Пластиковое </param>
<param name="Пол">Мужские</param>
<param name="Форма корпуса">Круглые</param>
<param name="Страна производитель">Китай</param>
<guarantee type="manufacturer">true</guarantee>
<custom>1</custom>

Как правильно распарсить данные, которые находятся в param name?


Ответы (1 шт):

Автор решения: splash58

А почему бы не родной библиотекой

import xml.etree.cElementTree as ET

root = ET.fromstring(string)
for items in root.findall('items'):
    for item in items.findall('item'):
        for param in item.findall('param'):
            print(param.attrib['name'])

в результате

Тип механизма
Водостойкость
Тип ремешка
Пол
Подсветка
...
→ Ссылка