读取xml文件或者项目文件***.csproj 时,出现给定编码中的字符无效。

 

  在读取xml文件时, 有时候会出现  "给定编码中的字符无效 "  的提示。

  原因: 1.xml文件中可能有全角的字符

                 或则

                2.xml文件中没有  <?xml version="1.0" encoding="utf-8"?>   

                                               <?xml version="1.0" encoding="GB2312"?> 

 

 

例如:  用下面的代码载入xml文件时,会出现"给定编码中的字符无效"

            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(Server.MapPath("/xlcf/xml/gd_old.xml"));

解决:先把文件读出来,然后转换编码后再用XMLDOCUEMENT的LOADXML  
            StreamReader sr = new StreamReader(this.XML_PATH.Text, Encoding.GetEncoding("GB2312"));
            string str = sr.ReadToEnd();
            sr.DiscardBufferedData();
            sr.Close();
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.LoadXml(str);

posted @ 2013-09-17 16:17  Little_C  阅读(1496)  评论(0编辑  收藏  举报