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如果使用指定的TextWriter实例创建,则Encoding属性由基础TextWriter编码重写。 例如,如果此属性设置为特定版本的 Unicode (UTF-16) ,但基础编写器是派StreamWriterTextWriter自其编码设置为 UTF8 的XmlWriter) 的 (,输出将进行 UTF-8 编码。

XmlWriter如果实例是使用其他输出参数创建的,则Encoding忽略该属性。

如下示例中:

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不接受来自不受信任的源的对象。

适用于