2013-11-20 27 views
0

是否有任何快速方法不需要外部库,可以将webresponse编码修复回原始文本。 (我不确定编码是真正的原因还是我的术语在这里是正确的?)修复html和xml提要编码

作为一个例子,我下面的代码返回第一行,但我需要第二行。所以doc.InnerXML写着:

<description>S&amp;P500</description> //What I get 
<description>S&P500</description>  //What I want 

我一直在寻找一个通用的解决方案,将解决所有的情况下,如空格,撇号,连字符等

的HTML敏捷包似乎这个有点大材小用,是希望对响应或XML文档有一个设置?

private List<rss> GetRSS() 
{ 
    List<rss> rssList = new List<rss>(); 
    try 
    { 
     string url = Properties.Settings.Default.RSSFeedURL; 
     string un = Properties.Settings.Default.RSSUN; 
     string pw = Properties.Settings.Default.RSSPW; 

     if (url != "") 
     { 
      // Make Remote Request 
      Uri uri = new Uri(url); 
      HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(url); 

      if (un != "") 
      { 
       wr.Credentials = new NetworkCredential(un, pw); 
      } 

      // Set the HTTP properties 
      wr.Timeout = 10000; 

      // Read the Response 
      WebResponse resp = wr.GetResponse(); 
      Stream stream = resp.GetResponseStream(); 

      // Load XML Document 
      XmlTextReader reader = new XmlTextReader(stream); 
      reader.XmlResolver = null; 
      XmlDocument doc = new XmlDocument(); 

      doc.Load(reader); 

      //Load rssList; 

     } 

    } 
    catch (Exception ex) 
    { 
     //Bubble Exception up to DoWork and then RunWorkComplete 
     throw; 
    } 
    finally 
    { 
     //Cleanup 
    } 

    return rssList; 
} 
+0

好极了!这是我所需要的。如果您将其添加为答案,我会接受。谢谢! – user3357963

+0

注意:' S&P500是无效的XML,因为它没有'&'编码...请*不要*给他人无效的XML,因为它总是会导致“如何读取带有无效字符的XML “问题...... –

回答

1

我没有把平时的WinForms,但我找了一个类似的功能在ASP.NET中存在什么发现WebUtility.HtmlDecode()这似乎是你在寻找什么