Jeden problem z StringWriter
jest to, że domyślnie nie pozwala ustawić kodowania, które reklamuje - więc możesz skończyć z dokumentem XML reklamującym jego kodowanie jako UTF-16, co oznacza, że musisz go zakodować jako UTF-16, jeśli go zapiszesz plik. Mam jednak małą klasę, która może w tym pomóc:
public sealed class StringWriterWithEncoding : StringWriter
{
public override Encoding Encoding { get; }
public StringWriterWithEncoding (Encoding encoding)
{
Encoding = encoding;
}
}
Lub jeśli potrzebujesz tylko UTF-8 (co jest wszystkim, czego często potrzebuję):
public sealed class Utf8StringWriter : StringWriter
{
public override Encoding Encoding => Encoding.UTF8;
}
Co do tego, dlaczego nie możesz zapisać swojego kodu XML w bazie danych — musisz podać nam więcej szczegółów na temat tego, co się stało, gdy próbowałeś, jeśli chcesz, abyśmy mogli to zdiagnozować/naprawić.