

c#でデスクトップアプリを作成中です。  
詰まってしまったことがあるのでご助力お願いします。  
webbrowserでHtmlを解析しています。  
下2つのことをしたいのですがHtmlElementクラスなどの利用だけでできますか？できない場合はおすすめのパッケージなど教えていただけると助かります。

①Htmlのタグ名でいくつかのタグを特定。特定したタグの中から目的の要素を持つタグを特定。その特定したタグの2つ次のタグのhref要素の値を取得する。(2つ次とは始めのHtmlソース全体の中で2つ次のタグとゆう意味です)

②Htmlのタグ名でいくつかのタグを特定。特定したタグの中から目的の要素を持つタグの内容(source)を全て表示。

.GetByTagNameや.GetByAttributeなどで特定したいくつかのタグ(Html Element
Collection、コレクション)の中から目的の要素を持つタグ(Html
Element、オブジェクト)を特定するところまではいけたのですがその中身全てを表示したり、そのタグが全体で何番目か調べてその2つ次のタグのオブジェクトを取得したりといったことができないです><  
如何せん初心者なものでコレクションとかオブジェクトの扱いに戸惑っております。今回に関してはオブジェクトという概念が作業の邪魔になっている気がします。ただの配列なら行けそうな気がするのですが...

方針だけでもいいのでお力添えお願いします。


CC BY-SA 4.0
2018-05-19T04:57:30.073
44074
2018-09-20T13:00:32.287
question
c# html
c#でHtmlを解析


C# で`HTML`の解析を行うツールとしては、[Html Agility Pack](http://html-agility-
pack.net/)が有名です。  
以下のように`XPath`が使えるのでタグ名での取得が容易にできます。

[code]

    var htmlDoc = new HtmlDocument();
    htmlDoc.LoadHtml(html);
    
    string name = htmlDoc.DocumentNode
        .SelectNodes("//td/input")
        .First()
        .Attributes["value"].Value;
    
[/code]


CC BY-SA 4.0
2018-05-19T13:37:50.870
44086
2018-05-19T13:37:50.870
15171
44074
answer