Einer der Gründe, warum Sie es möglicherweise nicht verwenden möchten StringWriter für die Objektserialisierung liegt daran, dass Sie die standardmäßig angekündigte Codierung nicht festlegen können. Dies kann zu Problemen beim Schreiben des XML-Dokuments in eine Datei führen, da die Datei in der angekündigten, aber falschen Codierung codiert werden muss.
Um dieses Problem zu lösen Problem, Sie können eine benutzerdefinierte Klasse wie die folgende verwenden:
public sealed class StringWriterWithEncoding : StringWriter { public override Encoding Encoding { get; } public StringWriterWithEncoding (Encoding encoding) { Encoding = encoding; } }
Mit dieser Klasse können Sie die Kodierung beim Erstellen des StringWriter angeben und so sicherstellen, dass die richtige Kodierung vorliegt beworben.
Wenn Sie nur UTF-8-Kodierung benötigen, können Sie eine vereinfachte Version der Klasse verwenden:
public sealed class Utf8StringWriter : StringWriter { public override Encoding Encoding => Encoding.UTF8; }
Wenn ja Wenn Sie Probleme beim Einfügen des XML in eine SQL Server 2005-Datenbank haben, überprüfen Sie Folgendes:
Wenn weiterhin Probleme auftreten, geben Sie weitere Details zu der Fehlermeldung an, die Sie erhalten.
Das obige ist der detaillierte Inhalt vonSollte ich StringWriter für die XML-Serialisierung verwenden, und wenn nicht, was ist die bessere Alternative?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!