Un problema con StringWriter
è che per impostazione predefinita non ti consente di impostare la codifica che pubblicizza, quindi puoi finire con un documento XML che pubblicizza la sua codifica come UTF-16, il che significa che devi codificarlo come UTF-16 se lo scrivi su un file. Ho una piccola classe per aiutare con questo però:
public sealed class StringWriterWithEncoding : StringWriter
{
public override Encoding Encoding { get; }
public StringWriterWithEncoding (Encoding encoding)
{
Encoding = encoding;
}
}
O se hai solo bisogno di UTF-8 (che è tutto ciò di cui ho spesso bisogno):
public sealed class Utf8StringWriter : StringWriter
{
public override Encoding Encoding => Encoding.UTF8;
}
Per quanto riguarda il motivo per cui non hai potuto salvare il tuo XML nel database, dovrai fornirci maggiori dettagli su cosa è successo quando hai provato, se vuoi che siamo in grado di diagnosticarlo/correggerlo.