The problem with the '&' in an XML file is, that everything after the '&' until the next semicolon will be encoded. A single '&' without a semicolon (or with a meaningless term between them) would lead to an invalid XML file. To avoid this problem, the serializer just converts every '&' to '& amp;', even if it stands already for an encoded character (see http://stackoverflow.com/questions/730133/invalid-characters-in-xml).
You could just replace the encoded parts with the character itself ("KOSTENTRÄGER" instead of "KOSTENTRÄ ;GER") before passing the String to the XML object. There are several possibilities to do this, maybe this link is helpful: http://stackoverflow.com/questions/994331/java-how-to-unescape-html-character-entities-in-java