string  URL;  
XmlDocument  xmlDoc  =  new  XmlDocument();  
xmlDoc.Load(URL);  
 
当要打开的xml第一行写有encoding="GBK"就异常了,说  encoding  "gbk"  is  not  supported.  
太平洋下载的RSS还有天极的都是GBK编码的,  
要怎么样才能解决这个问题啊,谢谢大家

解决方案 »

  1.   

    //因为源XML文件为GBK,不能直接使用ReadXml(不支持GBK编码),需要先用GB2312读到Stream中,再使用ReadXml读该Stream
    //如果源XML文件为GB2312,则可以直接使用ReadXml
    StreamReader srReadGbkXml = new StreamReader(fileNameXml, System.Text.Encoding.GetEncoding("gb2312"));dsfileInfo.ReadXml(srReadGbkXml);srReadGbkXml.DiscardBufferedData();
    srReadGbkXml.Close();
      

  2.   

    StreamReader sr = new StreamReader("c:\\a.xml", Encoding.GetEncoding("gb2312"));
    string str = sr.ReadToEnd();
    sr.DiscardBufferedData();
    sr.Close();XmlDocument xmldoc = new XmlDocument();
    xmldoc.LoadXml(str);
      

  3.   

    曾经看到过文章说.net不支持GBK,是因为GBK为过渡时期编码,
    .net完全支持使用GB2312和GB13000