Jeden problém s StringWriter
je, že ve výchozím nastavení vám neumožňuje nastavit kódování, které inzeruje - takže můžete skončit s dokumentem XML, který propaguje své kódování jako UTF-16, což znamená, že jej musíte zakódovat jako UTF-16, pokud jej zapíšete soubor. Mám však malou třídu, která s tím pomůže:
public sealed class StringWriterWithEncoding : StringWriter
{
public override Encoding Encoding { get; }
public StringWriterWithEncoding (Encoding encoding)
{
Encoding = encoding;
}
}
Nebo pokud potřebujete pouze UTF-8 (což je vše, co často potřebuji):
public sealed class Utf8StringWriter : StringWriter
{
public override Encoding Encoding => Encoding.UTF8;
}
Pokud jde o to, proč jste nemohli uložit svůj XML do databáze – budete nám muset poskytnout více podrobností o tom, co se stalo, když jste to zkusili, pokud chcete, abychom to mohli diagnostikovat/opravit.