I'm a bit nervous about how heavyweight this XML parsing is, and whether the nature of the method interface is that people will see this as being a cheap function to call.  Maybe just worth a comment?