Implementing fromXML

working through the parsing methods for fromXML. And they suck. I hate
if/else block chaining.