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. 指定XmlWriter TextWriterしたEncodingを使用してインスタンスを作成した場合、プロパティは、基になるのエンコーディングによってオーバーライドされます。 TextWriterIf 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) に設定されていても、基になるライターが (からTextWriter派生した) で、 StreamWriterエンコーディングが 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.

  • がにEncoding.Unicode設定され、 StreamWriterのエンコーディングにEncodingよって設定がオーバーライドされます。 StreamWriterThe 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.

適用対象