2013-11-01 44 views
0

我想從一個網站上的文字說明,並使用該代碼TextBlock的堅持表示",而不是「在Metro應用

  HttpResponseMessage response1 = await httpClient.GetAsync(url); 
      response1.EnsureSuccessStatusCode(); 
      string srcCode = await response1.Content.ReadAsStringAsync(); 
      string desc = ""; 
      rem = @"id=""full_notes"">"; 
      if (srcCode.IndexOf(rem) != -1) 
      { 
       desc = srcCode.Remove(0, srcCode.IndexOf(rem) + rem.Length); 
       rem = @"<a href=""#"">less</a></span>"; 
       desc = desc.Remove(desc.IndexOf(rem)); 
      } 
      else 
      { 
       rem = @"<span>Description:</span>"; 
       desc = srcCode.Remove(0, srcCode.IndexOf(rem) + rem.Length+15); 
       rem = "</div>"; 
       desc = desc.Remove(desc.IndexOf(rem)); 
      } 
      string rep = @""""; 
      desc.Replace("&quot;",rep); 
      on.Description = desc; 

一切順利的話,我表現出來的文本塊,但問題來的時候我得到的文本有引號「」,那麼文本塊只會顯示& QUOT代替" 有人知道如何解決這個問題

注:我嘗試使用替代如圖它沒有代碼工作

回答

3

您打電話給Replace,但沒有對結果做任何事情 - 字符串在C#中是不可變的,所以Replace方法不會更改現有字符串的內容。如文檔所述:

此方法不會修改當前實例的值。而是返回一個新字符串,其中oldValue被替換爲新值

所以,你需要:

desc = desc.Replace("&quot;", "\""); 

從根本上說,雖然,我想你會更好使用HTML解析器(例如HTML Agility Pack)。這應該能夠爲你執行這種實體替換。

+0

哈哈對不起,我的愚蠢:D –

相關問題