Compartir vía


XmlWriterSettings.Encoding Propiedad

Definición

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

public:
 property System::Text::Encoding ^ Encoding { System::Text::Encoding ^ get(); void set(System::Text::Encoding ^ value); };
public System.Text.Encoding Encoding { get; set; }
member this.Encoding : System.Text.Encoding with get, set
Public Property Encoding As Encoding

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:

XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.Encoding = Encoding.Unicode;
XmlWriter writer = XmlWriter.Create("books.xml", settings);
Dim settings As New XmlWriterSettings()
settings.Indent = True
settings.Encoding = Encoding.Unicode
Dim writer As XmlWriter = 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.

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