So it appears that making sure the XML document is UTF8 encoded is the probable cause for the garbling of special characters in the XML/textfield output. Sheesh!
I also added an XML doc declaration at the top of xml, but it may not be 100% necessary. At least now it validates ;)
Well, I tried that method of escaping (but that's not really the right way to do it in XML anyway IIRC), with no luck -- I really think the issue was with the document encoding... It all works now!