sql >> Database teknologi >  >> RDS >> Sqlserver

Brug af StringWriter til XML-serialisering

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.



  1. Java:Kaldning af en lagret procedure i en oracle-database

  2. WhoIsActive Runner

  3. SQL Server:Udpak tabelmetadata (beskrivelse, felter og deres datatyper)

  4. SqlBulkCopy Indsæt med identitetskolonne