Looks like I should stop trying to be fancy and just treat input XML data as a struct strings, and then convert those into usable values if necessary. Welp...