XmlWriterSettings.Encoding Propiedad

Definición

Obtiene o establece el tipo de codificación de texto que se va a usar.

C#
public System.Text.Encoding Encoding { get; set; }

Valor de propiedad

Codificación de texto que se va a usar. De manera predeterminada, es Encoding.UTF8.

Ejemplos

En el ejemplo siguiente se muestra cómo establecer la propiedad Encoding:

C#
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.Encoding = Encoding.Unicode;
XmlWriter writer = XmlWriter.Create("books.xml", settings);

Comentarios

XmlWriter Codifica un búfer de caracteres a la vez, en lugar de caracteres por carácter. Se produce una excepción cuando se llama al Flush método si se detectan errores de codificación.

La Encoding propiedad solo se aplica a las XmlWriter instancias que se crean con el especificado Stream o con el nombre de archivo especificado. Si la XmlWriter instancia se crea con el especificado TextWriter, la Encoding propiedad se invalida mediante la codificación del subyacente TextWriter. Por ejemplo, si esta propiedad se establece en Unicode (UTF-16) para un determinado XmlWriter, pero el sistema de escritura subyacente es un StreamWriter (que deriva de TextWriter) con su codificación establecida en UTF8, la salida será codificada con UTF-8.

Si la XmlWriter instancia se crea con otros parámetros de salida, se omite la Encoding propiedad .

En el ejemplo siguiente:

  • El valor predeterminado de Encoding es Encoding.UTF8.

  • StreamWriter se establece en Encoding.Unicode y la StreamWritercodificación de invalida la Encoding configuración.

  • El resultado será Encoding.Unicode.

C#
using (StreamWriter output =
    new StreamWriter(new FileStream("Xml01.xml", FileMode.Create), Encoding.Unicode))
{
    using (XmlWriter xmlWriter =
        XmlWriter.Create(output, new XmlWriterSettings()))
    {
        xmlWriter.WriteStartDocument();
        xmlWriter.WriteStartElement("Root");
        xmlWriter.WriteEndElement();
        xmlWriter.WriteEndDocument();
    }
}

Importante

No acepte un Encoding objeto de un origen que no sea de confianza.

Se aplica a

Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0