linq to xml 中,有什么好的方法实现xml的字符编码吗?

我在XDeclaration中声明编码为gb2312,而在输出时却变成了utf-16。

var xdoc = new XDocument(
 
new XDeclaration("1.0", "gb2312", null),
 
new XElement("root", "")
);
StringBuilder sb = new StringBuilder();           
TextWriter tw = new StringWriter(sb); 
xdoc.Save(tw);          
Console.WriteLine(sb.ToString());
 输出:
<?xml version="1.0" encoding="utf-16"?>
<root></root>

我这知道原因了,是因为TextWriter的是使用的unicode字符集,而默认对应unicode字符集的编码为utf-16。
墨色风雨
浏览 312回答 1
1回答

一只萌萌小番薯

你上面的操作能输出下面的代码??? <?xml version="1.0" encoding="utf-16"?><root></root>
打开App,查看更多内容
随时随地看视频慕课网APP