Ich habe eine Klasse mit XML-Attributen wie [XmlAttribute ("att")] dekoriert. Mein Ziel ist es, ein XDocument mit dem XML dieser Klasse zu erstellen. Alles funktioniert gut außer einem "0x1f" -Zeichen, das gelegentlich die Szene extern betritt. So natürlich versuche ich, es zu ersetzen, wie so:String.Replace scheint nicht Hex-Zeichen zu ersetzen
XmlSerializer serializer = new XmlSerializer(this.GetType());
StringWriter sw = new StringWriter();
serializer.Serialize(sw, this);
string s = sw.ToString();
s = s.Replace((char)0x1F, ' ');
XDocument xs = XDocument.Parse(s);
return xs;
Jedoch habe ich noch einen Fehler: „‘‘, hexadezimale Wert 0x1F, ist ein ungültiges Zeichen.“
Nur für eine Plausibilitätsprüfung, hier ein Screenshot: http://i.imgur.com/jZRWg.png
Irgendwelche Ideen, wo ich schief gehen könnte?
Und versuchen Sie zu finden, wie '‚0x1f‘Charakter gelegentlich die Szene –
@LB externally' eintritt, diese Strings mit 0x1f von einem Web-Service-Aufruf abgerufen werden, die nicht mein Code ist (dh außerhalb meine Codebasis). Auch wenn ich string.replace das anstößige Zeichen aus dem Service-Anruf heiß, scheint es immer noch zu bestehen! – b9190db9
@ L.B, Danke für den Link. Ich bin sicher, dass eine akzeptierte Antwort markiert wird. Ich habe nur Internet-Zugang über ein winziges Handy-Bildschirm, so dass meine Verletzung der Konvention war nicht sofort für mich offensichtlich: P – b9190db9