代码之家  ›  专栏  ›  技术社区  ›  Hamish Grubijan

是否有一个标准的文字常量,我可以用它来代替C(.NET 3.5)中的“utf-8”?

  •  4
  • Hamish Grubijan  · 技术社区  · 15 年前

    我想找到一个更好的方法:

    XmlNode nodeXML = xmlDoc.AppendChild(
        xmlDoc.CreateXmlDeclaration( "1.0", "utf-8", String.Empty) );
    

    我不想在输入代码时考虑“utf-8”与“utf-8”与“utf8”与“utf8”。我想让我的代码不太容易出现打字错误。我确信一些标准图书馆已经取消了 "utf-8" 作为常量/只读字符串。我怎么能找到它?还有,“1.0”呢?我假设在某个地方也枚举了主要的XML版本。

    谢谢!

    3 回复  |  直到 15 年前
        1
  •  7
  •   Ben M    15 年前

    尝试 Encoding.UTF8.WebName .

        2
  •  2
  •   JasCav    15 年前
        3
  •  2
  •   JJD    9 年前

    使用XML编写器编写文档很容易避免。默认编写器自动编码为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>
    
    推荐文章