Now back to the (unintended but 'de facto' ) theme of this thread which has morphed into programming:
Believe it or not I have never had to deal with the minutia of extracting information from xml files before. I have understood the "theory" of it for a long time, but now the "rubber" has hit the "road". And now that I have to do now it is in the context of Python and the existing tools for doing it in Python are not "python-centric", that is they don't behave in the way you think that they would behave in a Python "world" and behave differently.
Coding this cr@p in Python is like living in a world where you are driving on the right side of the road and then suddenly driving on the left side, and then the right side, and so forth, over and over again.
It took me about 15 minutes to figure all of this out, but in those 15 minutes I built a HUGE number of brain synapse connections, so I guess that it is "all good".