Leider ist der Unterschied des "&"-Zeichens verloren gegangen.
Es ist häufiger der Fall, dass bestimmte Sonderzeichen, die XML-Spezifisch sind, als HTML-/Unicode-Ersatzzeichen eingebettet werden.
Die meisten XML-Reader können das auch verarbeiten.

Was fehlerhafte Daten angeht, so hilft halt nur alle Felder als Char definieren und benötigte Umwandlungen in einer Monitor-Group selber machen.