Изучаю питон, в части парсинга xml и занесения данных в базу данных.
для парсинга использую библиотеку xmltodict, поскольку, она парсит файл и предоставляет его в виде словаря.
есть xml вида<wb:Content>
<wb:Position>
<wb:Identity>1</wb:Identity>
<wb:Product>
<pref:Type>АП</pref:Type>
<pref:FullName>Название</pref:FullName>
<pref:AlcCode>0323103000001227178</pref:AlcCode>
<pref:Capacity>0.500</pref:Capacity>
<pref:UnitType>Packed</pref:UnitType>
<pref:AlcVolume>4.000</pref:AlcVolume>
<pref:ProductVCode>500</pref:ProductVCode>
<pref:Producer> ... </pref:Producer>
</wb:Product>
<wb:Quantity>20.000</wb:Quantity>
<wb:Price>57.19</wb:Price>
<wb:Party>Партия №60074</wb:Party>
<wb:FARegId>000000000000</wb:FARegId>
<wb:InformF2> ... </wb:InformF2>
</wb:Position>
</wb:Content>
проблема заключается в том, что элементов wb:Position может быть несколько.
учитывая специфику работы библиотеки если элемент wb:Position один, то обращение к его дочерним элементам будет происходить без использования вложенного списка. Например позиция всего одна:
xml['wb:Content']['wb:Position']['wb:Identity']
если их несколько то:
xml['wb:Content']['wb:Position'][3]['wb:Identity']
Заведомо не известно, сколько будет элементов wb:Position, если перебирать циклом, то можно поймать исключение, поскольку ключа 0 не существует.
Как проверять количество элементов wb:Position? или будет лучше использовать другой парсер?