Condividi tramite


XmlWriterSettings.Encoding Proprietà

Definizione

Ottiene o imposta il tipo di codifica testo da usare.

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

Valore della proprietà

Codifica testo da usare. Il valore predefinito è Encoding.UTF8.

Esempio

Nell'esempio seguente viene illustrato come impostare la Encoding proprietà :

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)

Commenti

Codifica XmlWriter un buffer di caratteri tutti contemporaneamente, anziché un carattere per carattere. Viene generata un'eccezione quando viene chiamato il Flush metodo se vengono rilevati errori di codifica.

La Encoding proprietà si applica solo alle XmlWriter istanze create con l'oggetto specificato Stream o con il nome file specificato. Se l'istanza viene creata con l'oggetto XmlWriter specificato TextWriter, la Encoding proprietà viene sostituita dalla codifica dell'oggetto sottostante TextWriter. Ad esempio, se questa proprietà è impostata su Unicode (UTF-16) per un particolare XmlWriter, ma il writer sottostante è un StreamWriter (che deriva da TextWriter) con la codifica impostata su UTF8, l'output sarà con codifica UTF-8.

Se l'istanza XmlWriter viene creata con altri parametri di output, la Encoding proprietà viene ignorata.

Nell'esempio seguente:

  • Il valore predefinito di Encoding è Encoding.UTF8.

  • StreamWriter è impostato su Encoding.Unicode e la StreamWritercodifica esegue l'override dell'impostazione Encoding .

  • L'output sarà 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

Non accettare un Encoding oggetto da un'origine non attendibile.

Si applica a