I suggest ElementTree. There are other compatible implementations of the same API, such as lxml, and cElementTree in the Python standard library itself; but, in this context, what they chiefly add is even more speed -- the ease of programming part depends on the API, which ElementTree defines.
First build an Element instance root from the XML, e.g. with the XML function, or by parsing a file with something like:
import xml.etree.ElementTree as ET root = ET.parse('thefile.xml').getroot() import xml.etree.ElementTree as ET root = ET.parse('thefile.xml').getroot() Or any of the many other ways shown at ElementTree. Then do something like:
for type_tag in root.findall('bar/type'): value = type_tag.get('foobar') print(value) for type_tag in root.findall('bar/type'): value = type_tag.get('foobar') print(value) Output:
1 2