Et problem med StringWriter
er, at den som standard ikke lader dig indstille den kodning, den reklamerer for - så du kan ende med et XML-dokument, der reklamerer for sin kodning som UTF-16, hvilket betyder, at du skal kode det som UTF-16, hvis du skriver det til en fil. Jeg har dog en lille klasse til at hjælpe med det:
public sealed class StringWriterWithEncoding : StringWriter
{
public override Encoding Encoding { get; }
public StringWriterWithEncoding (Encoding encoding)
{
Encoding = encoding;
}
}
Eller hvis du kun har brug for UTF-8 (hvilket er alt, hvad jeg ofte har brug for):
public sealed class Utf8StringWriter : StringWriter
{
public override Encoding Encoding => Encoding.UTF8;
}
Med hensyn til hvorfor du ikke kunne gemme din XML i databasen - du bliver nødt til at give os flere detaljer om, hvad der skete, da du prøvede, hvis du ønsker, at vi skal kunne diagnosticere/fikse det.