我在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。
你上面的操作能输出下面的代码???
<?xml version="1.0" encoding="utf-16"?>
<root></root>