我想找到一个更好的方法:
XmlNode nodeXML = xmlDoc.AppendChild(
xmlDoc.CreateXmlDeclaration( "1.0", "utf-8", String.Empty) );
当我输入代码时,我不想考虑“utf-8”vs“UTF-8”vs“UTF8”vs“utf8”。我想让我的代码更容易出现错别字。我确信某些标准库已将"utf-8"
声明为const / readonly字符串。我该怎么找到它?那么,“1.0”呢?我假设主要的XML版本也已在某处枚举。
谢谢!
答案 0 :(得分:8)
尝试Encoding.UTF8.WebName
。
答案 1 :(得分:2)
答案 2 :(得分:2)
使用XmlWriter编写文档很容易避免。默认编写器自动编码为utf8并生成处理指令:
var doc = new XmlDocument();
doc.InnerXml = "<root></root>";
using (var wrt = XmlWriter.Create(@"c:\temp\test.xml")) {
doc.WriteTo(wrt);
}
输出:
<?xml version="1.0" encoding="utf-8"?><root></root>