sql >> Databasteknik >  >> RDS >> Sqlserver

Använda StringWriter för XML-serialisering

Ett problem med StringWriter är att den som standard inte låter dig ställa in kodningen som den annonserar - så du kan sluta med ett XML-dokument som annonserar dess kodning som UTF-16, vilket betyder att du måste koda det som UTF-16 om du skriver det till en fil. Jag har dock en liten klass som kan hjälpa till med det:

public sealed class StringWriterWithEncoding : StringWriter
{
    public override Encoding Encoding { get; }

    public StringWriterWithEncoding (Encoding encoding)
    {
        Encoding = encoding;
    }    
}

Eller om du bara behöver UTF-8 (vilket är allt jag ofta behöver):

public sealed class Utf8StringWriter : StringWriter
{
    public override Encoding Encoding => Encoding.UTF8;
}

Angående varför du inte kunde spara din XML i databasen - du måste ge oss mer information om vad som hände när du försökte, om du vill att vi ska kunna diagnostisera/fixa det.



  1. Genererar sql insert i för Oracle

  2. Hur man installerar Apache Cassandra på Ubuntu 20.10/Ubuntu 20.04

  3. Verktyg:Generera PL/SQL-procedur för att exportera data från en tabell på 2 minuter

  4. hur ändrar man postgresql lyssningsport i Windows?