XmlWriterSettings.Encoding Właściwość

Definicja

Pobiera lub ustawia typ kodowania tekstu do użycia.

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

Wartość właściwości

Kodowanie tekstu do użycia. Wartość domyślna to Encoding.UTF8.

Przykłady

W poniższym przykładzie pokazano, jak ustawić Encoding właściwość:

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)

Uwagi

Koduje XmlWriter bufor znaków jednocześnie, a nie znak po znaku. Wyjątek jest zgłaszany, gdy metoda jest wywoływana, Flush jeśli wystąpią jakiekolwiek błędy kodowania.

Właściwość Encoding ma zastosowanie tylko do XmlWriter wystąpień, które są tworzone z określoną Stream lub określoną nazwą pliku. XmlWriter Jeśli wystąpienie zostanie utworzone przy użyciu określonego TextWriterobiektu , Encoding właściwość zostanie zastąpiona przez kodowanie bazowego TextWriterobiektu . Jeśli na przykład ta właściwość jest ustawiona na Unicode (UTF-16) dla określonego XmlWriterelementu , ale źródłowy składnik zapisywania jest elementem (pochodzącym StreamWriter z TextWriterklasy ) z jego kodowaniem ustawionym na UTF8, dane wyjściowe będą zakodowane w formacie UTF-8.

XmlWriter Jeśli wystąpienie zostanie utworzone z innymi parametrami wyjściowymi, Encoding właściwość zostanie zignorowana.

W poniższym przykładzie:

  • Wartość domyślna Encoding to Encoding.UTF8.

  • Właściwość StreamWriter jest ustawiona na Encoding.Unicode , a StreamWriterkodowanie "s" zastępuje Encoding ustawienie.

  • Dane wyjściowe będą mieć wartość 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();
    }
}

Ważne

Nie akceptuj Encoding obiektu z niezaufanego źródła.

Dotyczy