2013-11-20 62 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()這似乎是你在尋找什麼