如何生成utf-8格式的xml?
要生成utf-8的xml文件,用以下代码生成的是gb2312格式static void Main(string[] args)
{
XmlDocument doc = new XmlDocument();
XmlNode docNode = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
doc.AppendChild(docNode);
// 创建根
XmlNode root = doc.CreateElement("data");
doc.AppendChild(root);
XmlNode idNode = doc.CreateElement("id");
idNode.AppendChild(doc.CreateTextNode("99"));
root.AppendChild(idNode);
XmlNode contentNode = doc.CreateElement("content");
contentNode.AppendChild(doc.CreateTextNode("收到消息"));
root.AppendChild(contentNode);
doc.Save(Console.Out);
Console.ReadLine();
}
这句
XmlNode docNode = doc.CreateXmlDeclaration("1.0", "UTF-8", null);好像没有作用,改成utf-8还是生成gb2312,最后打印出的xml为
<?xml version="1.0" encoding="gb2312"?>
<data>
<id>99</id>
<content>收到的消息</content>
</data>
怎么改成utf-8? --------------------编程问答-------------------- 土方法:生成后将XML当记事本打开,然后替换 --------------------编程问答-------------------- 是这样的,这个和你的代码没有关系。
在VS里面打开你的这个.cs源代码文件,然后在菜单里面 File->advance save options(高级保存选项),把你的这个cs文件存为utf-8的格式。
你的代码,我在我机器上不做任何改动,保存后打开里面的的内容是:
<?xml version="1.0" encoding="UTF-8"?>
<data>
<id>99</id>
<content>收到消息</content>
</data> --------------------编程问答-------------------- sorry,好像我说错了,我保存为其它的编码也仍然是 utf-8。
可能是其它原因。 --------------------编程问答-------------------- File.WriteAllText(Server.MapPath(@"aa.xml"), File.ReadAllText(Server.MapPath(@"aa.xml").Replace("gb2312", "utf-8")); --------------------编程问答-------------------- Unicode, GDK , GB2312和大五码就是编码的值,而UTF-8,UTF-16之类就是这个值的表现形式 --------------------编程问答-------------------- 学习!!!!
--------------------编程问答-------------------- 我来学习。。。 --------------------编程问答-------------------- 使用Console.Out应该和计算机的环境有关,你如果保存为一个文件,可以随便按照你想要的格式保存 --------------------编程问答-------------------- 记事本打开,另存为时,选择UTF-8 --------------------编程问答--------------------
--------------------编程问答-------------------- 或许和命令行的编码格式显示有关 --------------------编程问答-------------------- XmlTextWriter xw = new XmlTextWriter(FilePath, System.Text.Encoding.UTF8);
XmlDocument doc = new XmlDocument();
XmlNode docNode = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
doc.AppendChild(docNode);
// 创建根
XmlNode root = doc.CreateElement("data");
doc.AppendChild(root);
XmlNode idNode = doc.CreateElement("id");
idNode.AppendChild(doc.CreateTextNode("99"));
root.AppendChild(idNode);
XmlNode contentNode = doc.CreateElement("content");
contentNode.AppendChild(doc.CreateTextNode("收到消息"));
root.AppendChild(contentNode);
doc.Save(@"e:\message.xml");//保存到磁盘上
补充:.NET技术 , ASP.NET