StringWriter
に関する1つの問題 デフォルトでは、アドバタイズするエンコーディングを設定できません。そのため、そのエンコーディングをUTF-16としてアドバタイズするXMLドキュメントになってしまう可能性があります。つまり、次のように書き込む場合は、UTF-16としてエンコードする必要があります。ファイル。私にはそれを助けるための小さなクラスがあります:
public sealed class StringWriterWithEncoding : StringWriter
{
public override Encoding Encoding { get; }
public StringWriterWithEncoding (Encoding encoding)
{
Encoding = encoding;
}
}
または、UTF-8のみが必要な場合(私がよく必要とするのはこれだけです):
public sealed class Utf8StringWriter : StringWriter
{
public override Encoding Encoding => Encoding.UTF8;
}
XMLをデータベースに保存できなかった理由については、診断/修正できるようにするために、試行したときに何が起こったかについての詳細を提供する必要があります。