Satu masalah dengan StringWriter
adalah bahwa secara default itu tidak memungkinkan Anda mengatur penyandian yang diiklankan - sehingga Anda dapat berakhir dengan dokumen XML yang mengiklankan penyandiannya sebagai UTF-16, yang berarti Anda perlu menyandikannya sebagai UTF-16 jika Anda menulisnya file. Saya memiliki kelas kecil untuk membantu dengan itu:
public sealed class StringWriterWithEncoding : StringWriter
{
public override Encoding Encoding { get; }
public StringWriterWithEncoding (Encoding encoding)
{
Encoding = encoding;
}
}
Atau jika Anda hanya membutuhkan UTF-8 (hanya itu yang sering saya butuhkan):
public sealed class Utf8StringWriter : StringWriter
{
public override Encoding Encoding => Encoding.UTF8;
}
Adapun mengapa Anda tidak dapat menyimpan XML Anda ke database - Anda harus memberi kami lebih banyak detail tentang apa yang terjadi ketika Anda mencoba, jika Anda ingin kami dapat mendiagnosis/memperbaikinya.