Hi, > config = {id: 1, canvas: (3840, 1024), comment: "a comment", > {id: 4, gate: 3, (0, 0, 1280, 1024)}, > {id: 5, gate: 2, (1280, 0, 2560, 1024)}, > {id: 6, gate: 1, (2560, 0, 3840, 1024)}} This is not valid Python. Are you trying to have a list of dicts?
> I have started to use this code - but this is beginning to feel very > non-elegant; not the cool Python code I usually see... ElementTree supports XPATH, using this and some list comprehension you do things a little more easily. For example: cfg = root.find('config[@id="B"]') for panel in cfg.findall('panel'): panels.append([{elem.tag: elem.text} for elem in panel]) You'll need to do some parsing for the coordinates and handle canvas and comments separately. HTH, Miki -- https://mail.python.org/mailman/listinfo/python-list