2017-09-26 77 views
0

我想從網站html文件導出一些鏈接到datagridview。問題是html文件中的一些href屬性值是:#。
我想刪除值爲#的行。我嘗試吹碼,但它不起作用,什麼也沒有發生。如何刪除具有特定字符的行c#

private void findsuburls(string str,DataGridView dgv) 
    { 
     HtmlWeb web = new HtmlWeb(); 
     HtmlAgilityPack.HtmlDocument document = web.Load(str); 
     foreach (HtmlNode pages in document.DocumentNode.SelectNodes("//ul[@class='pagination ']/li/a[@href]")) 
     { 
      dgv.Rows.Add(pages.Attributes["href"].Value); 
     } 

     foreach (DataGridViewRow row in dgv.Rows) 
     { 
      if (row.Cells[0].Value == "#") 
       dgv.Rows.Remove(row);     
     } 
    } 
+1

爲什麼在首先添加行時不過濾掉它們? – Fildor

+0

你沒有得到任何錯誤/警告?因爲你不能修改迭代在'foreach'循環中的集合 – Pikoh

+0

@Fildor我該怎麼做,我不知道如何過濾它們。 –

回答

1

我在首先添加行時將其過濾掉。

private void findsuburls(string str,DataGridView dgv) 
    { 
     HtmlWeb web = new HtmlWeb(); 
     HtmlAgilityPack.HtmlDocument document = web.Load("http://goldtag.net"+str); 
     foreach (HtmlNode pages in document.DocumentNode.SelectNodes("//ul[@class='pagination ']/li/a[@href]")) 
     { 
      var temp = pages.Attributes["href"].Value; 
      if (temp != "#") 
      { 
       dgv.Rows.Add(temp); 
      } 
     }  
    } 
相關問題