我使用下面的代码将c#对象序列化为Xml。
public class Utf8StringWriter : StringWriter
{
public override Encoding Encoding { get { return Encoding.UTF8; } }
}
public string SerializeDataWithUTF8Encoding<T>(T data)
{
XmlSerializer serializer = new XmlSerializer(typeof(T));
StringWriter sw = new Utf8StringWriter();
serializer.Serialize(sw, data);
var xmlString = sw.ToString();
return xmlString;
}
使用此代码,我使用静态值序列化对象下方。
public class Test
{
string Description = "This is the charge in advance for your %quantity% Line isolating unit No. 1A at £%quantity rate% per unit per month";
}
Test obj = new Test();
//calling above function
SerializeDataWithUTF8Encoding(obj)
但是在上面生成的xml中,我的描述为
“这是您的%数量百分比线隔离单元1A的预付费用,每月每单位数量%的费率”。
因此£
编码为£
。
如何停止此编码?我希望将£
保留在XML中。
我尝试了几种选择但没有得到太多帮助。