Is it more efficient to parse external XML or to hit the database?
Test definitely.  As a rule of thumb, XML is good for communicating between apps, but once you have the data inside of your app, everything should go into a database table.  This may not apply in all cases, but 95% of the time it has for me.  Anytime I ever tried to store data any other way (ex. XML in a content management system) I ended up wishing I would have just used good old sprocs and sql server.
I was wondering when dealing with a web service API that returns XML, whether it's better (faster) to just call the external service each time and parse the XML (using ElementTree) for display on your site or to save the records into the database (after parsing it once or however many times you need to each day) and make database calls instead for that same information.