XmlWriterSettings.Encoding Свойство

Определение

Возвращает или задает тип используемой кодировки текста.

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

Используемая кодировка текста. Значение по умолчанию — Encoding.UTF8.

Примеры

В следующем примере показано, как задать 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)

Комментарии

Кодирует XmlWriter буфер всех символов одновременно, а не символ по символам. Исключение возникает при вызове Flush метода при обнаружении ошибок кодирования.

Свойство Encoding применяется только к XmlWriter экземплярам, созданным с указанным Stream или указанным именем файла. XmlWriter Если экземпляр создается с указаннымTextWriterEncoding, свойство переопределяется кодировкой базового TextWriterобъекта. Например, если для конкретного XmlWriterсвойства задано значение Юникод (UTF-16), но базовый модуль записи является ( StreamWriter производным от TextWriter) с кодировкой UTF8, выходные данные будут закодированы в кодировке UTF-8.

XmlWriter Если экземпляр создается с другими выходными параметрами, Encoding свойство игнорируется.

В следующем примере:

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

  • Задано StreamWriter значение Encoding.Unicode , а StreamWriterкодировка переопределяет Encoding параметр.

  • Выходные данные должны выглядеть так: 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 объект из недоверенного источника.

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