I want to iterate through all attributes of a dom node and get the name and value
I tried something like this (docs were not very verbose on this so I guessed a little):
for attr in element.attributes:
attrName = attr.name
attrValue = attr.value
Loop Error:
for attr in element.attributes:
File "C:\Python32\lib\xml\dom\minidom.py", line 553, in __getitem__
return self._attrs[attname_or_tuple]
KeyError: 0
I'm new to Python, be gentle please
There is a short and efficient (and pythonic ?) way to do it easily
#since items() is a tUple list, you can go as follows :
for attrName, attrValue in element.attributes.items():
#do whatever you'd like
print "attribute %s = %s" % (attrName, attrValue)
If what you are trying to achieve is to transfer those inconvenient attribute NamedNodeMap
to a more usable dictionary you can proceed as follows
#remember items() is a tUple list :
myDict = dict(element.attributes.items())
see http://docs.python.org/2/library/stdtypes.html#mapping-types-dict and more precisely example :
d = dict([('two', 2), ('one', 1), ('three', 3)])