fork download
  1. import sys
  2. from collections import defaultdict
  3. from xml.etree import cElementTree as etree
  4.  
  5. d = defaultdict(list)
  6. for ev, el in etree.iterparse(sys.stdin):
  7. if el.tag == 'Sample':
  8. for name in "value data2 data3".split():
  9. d[name].append(el.get(name))
  10. print(d)
Success #stdin #stdout 0.06s 7148KB
stdin
<?xml version="1.0" encoding="utf-8"?>
<Basic>
    <Segment>
        <Sample value="12" data2="25" data3="23"/>
        <Sample value="13" data2="0" data3="323"/>
        <Sample value="14" data2="2" data3="3"/>
    </Segment>
</Basic>
stdout
defaultdict(<type 'list'>, {'data3': ['23', '323', '3'], 'value': ['12', '13', '14'], 'data2': ['25', '0', '2']})