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

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

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

Примеры

В следующем примере фрагмент XML записывается в поток памяти.The following example writes an XML fragment to a memory stream.

XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
settings.ConformanceLevel = ConformanceLevel.Fragment;
settings.CloseOutput = false;

// Create the XmlWriter object and write some content.
MemoryStream strm = new MemoryStream();
XmlWriter writer = XmlWriter.Create(strm, settings);
writer.WriteElementString("orderID", "1-456-ab");
writer.WriteElementString("orderID", "2-36-00a");
writer.Flush();
writer.Close();

// Do additonal processing on the stream.
Dim settings As XmlWriterSettings = New XmlWriterSettings()
settings.OmitXmlDeclaration = true
settings.ConformanceLevel = ConformanceLevel.Fragment
settings.CloseOutput = false

' Create the XmlWriter object and write some content.
Dim strm as MemoryStream = new MemoryStream()
Dim writer As XmlWriter = XmlWriter.Create(strm, settings)
writer.WriteElementString("orderID", "1-456-ab")
writer.WriteElementString("orderID", "2-36-00a")
writer.Flush()
writer.Close()

' Do additonal processing on the stream.

Комментарии

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.

Свойство применяется только XmlWriter к экземплярам, созданным либо с заданным Stream именем, либо с помощью указанного имени файла. EncodingThe Encoding property only applies to the XmlWriter instances that are created either with the specified Stream or with the specified file name. Если экземпляр создается с указанным TextWriterпараметром, Encoding свойство переопределяется кодировкой базового TextWriterобъекта. XmlWriterIf the XmlWriter instance is created with the specified TextWriter, the Encoding property is overridden by the encoding of the underlying TextWriter. Например, если для конкретного XmlWriterсвойства задано значение Unicode (UTF-16), но базовый модуль записи 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.

Если экземпляр создается с другими выходными параметрами Encoding , свойство игнорируется. XmlWriterIf 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параметр. StreamWriter Encoding.UnicodeThe 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.

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