2017-09-26 12 views
0

ウェブサイトのhtmlファイルからdatagridviewにいくつかのリンクをエクスポートしようとしています。問題は、htmlファイルのいくつかのhref属性の値が次のとおりです。
値が#の行を削除します。私はblewコードを試しても動作しませんし、何も起こりません。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); 
      } 
     }  
    } 
関連する問題