XmlWriterSettings.Encoding Свойство

Определение

Возвращает или задает тип используемой кодировки текста.Gets or sets the type of text encoding to use.

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

Значение свойства

Encoding

Используемая кодировка текста.The text encoding to use. Значение по умолчанию — Encoding.UTF8.The default is Encoding.UTF8.

Примеры

В следующем примере показано, как задать Enconding свойство:The following example shows how to set the Enconding property:

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)

Комментарии

XmlWriterКодирует буфер символов всего за один раз, а не на символ.The XmlWriter encodes a buffer of characters all at once, rather than character by character. Исключение возникает при Flush вызове метода при обнаружении ошибок кодирования.An exception is thrown when the Flush method is called if any encoding errors are encountered.

EncodingСвойство применяется только к XmlWriter экземплярам, созданным либо с заданным Stream именем, либо с помощью указанного имени файла.The Encoding property only applies to the XmlWriter instances that are created either with the specified Stream or with the specified file name. Если XmlWriter экземпляр создается с указанным параметром TextWriter , Encoding свойство переопределяется кодировкой базового объекта TextWriter .If the XmlWriter instance is created with the specified TextWriter, the Encoding property is overridden by the encoding of the underlying TextWriter. Например, если для конкретного свойства задано значение Unicode (UTF-16) XmlWriter , но базовый модуль записи является StreamWriter (производным от TextWriter ) и его кодировкой является UTF8, выходные данные будут закодированы в кодировке UTF-8.For example, if this property is set to Unicode (UTF-16) for a particular XmlWriter, but the underlying writer is a StreamWriter (which derives from TextWriter) with its encoding set to UTF8, the output will be UTF-8 encoded.

Если XmlWriter экземпляр создается с другими выходными параметрами, Encoding свойство игнорируется.If the XmlWriter instance is created with other output parameters, the Encoding property is ignored.

В следующем примере:In the following example:

  • Значением свойства Encoding по умолчанию является Encoding.UTF8.The default value of Encoding is Encoding.UTF8.

  • StreamWriterИмеет значение Encoding.Unicode , а StreamWriter Кодировка переопределяет Encoding параметр.The StreamWriter is set to Encoding.Unicode and the StreamWriter's encoding overrides the Encoding setting.

  • Выходные данные будут иметь значение Encoding.Unicode .The output will be 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();  
    }  
}  

Важно!

Не допускайте Encoding объект из ненадежного источника.Do not accept an Encoding object from an untrusted source.

Применяется к