次の方法で共有


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.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 ファイル名を使用して作成されたインスタンスにのみ適用されます。 指定した TextWriterXmlWriter使用してインスタンスが作成された場合、Encodingプロパティは基になる TextWriterのエンコードによってオーバーライドされます。 たとえば、このプロパティが特定 XmlWriterの に対して Unicode (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 受け入れないでください。

適用対象