Podejrzewam, że patrzysz na debugger. Spowoduje to wyświetlenie formy ze znakami ucieczki, ale cudzysłowy nie będą w rzeczywistości znajdować się w łańcuchu, jeśli nie powinny.
Sugeruję, abyś jakoś zarejestrował ciąg — wtedy zobaczysz prawdziwe dane i domyślam się, że nie będzie on zawierał ukośników odwrotnych — zakładając, że nie napisałeś żadnych ukośników odwrotnych do StringWriter zacząć z. Jak zapisujesz dane do StringWriter? ? Czy to możliwe, że twoje problemy są dalej w górę? (Jeśli piszesz kod XML ręcznie , zdecydowanie zalecam używanie zamiast tego interfejsu API XML. Jest znacznie mniej podatny na błędy).
Jaki błąd pojawia się podczas próby odczytania kodu XML z powrotem? Jak to wygląda w bazie danych?
Mogę prawie zagwarantować, że problem nie będzie w StringWriter lub StringBuilder - nie wykonują żadnej ucieczki.
Z drugiej strony, czy jest jakiś powód, dla którego wywołujesz GetStringBuilder().ToString() zamiast po prostu ToString() ?