2016-07-29 6 views
-2

私のページには、runat = "server"とその上に特定のIDを持つ複数のアンカー/リンクタグがあります。それらをArrayに取得してループさせる方法はありますか?C# - runat = "server"を含むHTMLタグの配列/コレクションを取得する

+2

スタックオーバーフローは無料のコード作成サービスではありません。あなたのコード/努力と実際の問題点を示してください。 – FrankerZ

+0

私はC#の初心者です。私は、どのような種類のクラス/ライブラリを使用する必要があるのか​​全く分かりません。残りはちょうどhtmlコードです。そして私はC#プログラマーではないので、配列にそれらを得る方法があるかどうか尋ねます。 – Art

+1

そのIDを配列に入れたり、IDを自動生成してループ内のタグに割り当てます。 –

答えて

1

あり、より良い方法であることが、ここで私はこれを行うだろうかだことがあります。

はのは、このようなあなたのページを見にタグを言ってみましょう:

<a id="id12345">Some Content </a> 

は、FileStreamを持つメモリにHTMLファイルを読み込み、ファイルを1行ずつ読み込み、idプロパティを持つタグを探します。見つかったら、文字列の分割操作と置換を実行します。

私はリストを使用しますが、必要に応じて配列を使用できます。

List<string> ids = new List<string>(); 

string line; 

using (FileStream fs = new FileStream(@"\\path\\to\\file", FileMode.Open)) 
using (StreamReader reader = new StreamReader(fs)) 
{ 
    while ((line = reader.ReadLine()) != null) 
    { 
     if (line.Contains("<div id=")) 
     { 
      string[] split1 = line.Split('='); 
      string[] split2 = split1[1].Split('>'); 
      //remove quotes 
      ids.Add(split2[0].Replace('"', ' ')); 
     } 
    } 
} 

//now look through the list 
foreach(string s in ids) 
{ 
    //do stuff 

} 
+0

これは機能しますが、私はhtml要素をより良く制御できるライブラリを探しています。ありがとうgev125。 – Art

+0

HtmlAgilityPackナゲットパッケージを試してみることもできます。私はあまりにもそれを混乱させていないが、それはあなたが探しているものを行うかもしれない。 – gev125

+0

すばらしいSouds!私はそれを見ます。ありがとう! – Art

関連する問題