XmlWriterSettings.Encoding 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置要使用的文本编码的类型。
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.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) ,但基础编写器是派StreamWriter生TextWriter自其编码设置为 UTF8 的XmlWriter) 的 (,输出将进行 UTF-8 编码。
XmlWriter如果实例是使用其他输出参数创建的,则Encoding忽略该属性。
如下示例中:
Encoding 的默认值为
Encoding.UTF8
。设置为StreamWriter
Encoding.Unicode
该设置,StreamWriter并且's 编码将覆盖该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不接受来自不受信任的源的对象。