C# 将编码utf8添加到XML序列化程序

C# 将编码utf8添加到XML序列化程序,c#,C#,我要序列化以下代码: using (var writer2 = new StringWriter()) { XmlSerializer ser2 = new XmlSerializer(Sheet2.GetType()); ser2.Serialize(writer2, Sheet2); _sXml2 = writer2.ToString(); }

我要序列化以下代码:

 using (var writer2 = new StringWriter())
            {
                XmlSerializer ser2 = new XmlSerializer(Sheet2.GetType());
                ser2.Serialize(writer2, Sheet2);
                _sXml2 = writer2.ToString();

            }

它工作得很好,但编码是utf16,如何更改为utf8,我尝试了设置,但显然没有成功。

使用XmlTextWriter并在那里指定编码。请参见您需要使用
XmlWriter
类对象,该类对象提供
编码.UTF8
类对象作为
XmlWriterSettings
类对象的一部分,以获得所需的输出


请查看此方法的文档:

谢谢,但请您帮助我将其实现到我的代码中,我正在尝试并获得错误简单地将您创建的作为第一个参数的XmlTextWriter传递给serialize方法
XmlTextWriter xmlWriter=newxmltextwriter(writer2,Encoding.UTF8);ser2.serialize(xmlWriter,Sheet2)
。除此之外,如果您有具体的错误,请张贴给我们看