日期:2014-05-18  浏览次数:21227 次

保存xml文件时,如何指定用 utf-8编码呢?
保存xml文件时,如何指定用 utf-8编码呢?

我以下的代码,好像如果只有英文字符,则用 ansi 保存,如果有中文,则用 utf8保存。
我想实现,全部用utf-8保存。如何修改我的代码呢?
以下代码的目的,就是将窗体控件的值,保存到xml文件中,下次打开窗体时,可以提取。

C# code

        //将搜索设置写入xml文件
        public bool SearchSaveToFile(string strkehu,string strdatebegin,string strdateend,string strbookonly,string strsearch)
        {
            XmlTextWriter writer = new XmlTextWriter("search_ywd.xml", null);
            //使用自动缩进便于阅读 
            writer.Formatting = Formatting.Indented;
            
            //书写根元素 
            writer.WriteStartElement("Search");  //********************************** 0000000000
            //开始一个元素 
            writer.WriteStartElement("ywdsearch");   //*********************************  1111111111
            //向先前创建的元素中添加一个属性 
            //writer.WriteAttributeString("rating", "R");
            //添加子元素 
            writer.WriteElementString("kehu", strkehu);
            writer.WriteElementString("datebegin", strdatebegin);
            writer.WriteElementString("dateend", strdateend);
            writer.WriteElementString("bookonly", strbookonly);
            writer.WriteElementString("txtsearch", strsearch);
            //关闭item元素 
            writer.WriteEndElement(); // 关闭元素 //********************************* 1111111111

            //在节点间添加一些空格 (回车也属于空格的一种)
            writer.WriteWhitespace("\n");
            // 关闭根元素 
            writer.WriteFullEndElement();
            //将XML写入文件并关闭writer 
            writer.Close(); 
            return true;
        }



------解决方案--------------------
XmlTextWriter writer = new XmlTextWriter("search_ywd.xml", System.Text.Encoding.UTF8);