Get all Attributes XML in python and Make it into a dictionary

Viewed 15801

XML:

<main>
    <item name="item1" image="a"></item>
    <item name="item2" image="b"></item>
    <item name="item3" image="c"></item>
    <item name="item4" image="d"></item>
</main>

Python:

xmldoc = minidom.parse('blah.xml')
itemlist = xmldoc.getElementsByTagName('item')
for item in itemlist :
    #####I want to make a dictionary of each item

So I would get

{'name':'item1','image':'a'}
{'name':'item2','image':'b'}
{'name':'item3','image':'c'}
{'name':'item4','image':'d'}

Does anyone know how to do this? Is there a function?

6 Answers

List/dictionary comprehension version of the accepted answer:

dicts = [{a.name: a.value for a in item.attributes.values()} for item in itemlist]
print dicts
Related