0

私はこのhtmlドキュメントを持っています:

<div class="link1">
<a href="#">link1</a>
</div>

<div class="link2">
<a href="#">link2</a>
</div>

<div class="link3">
<a href="#">link3</a>
</div>

<div class="link3">
<a href="#">link4</a>
</div>

<div class="link5">
<a href="#">link4</a>
</div>

クラス名で要素を取得して、webBrowserコントロールに「link3」で指定した要素を表示したい。

このコードは機能しますが、同じクラス名の要素が 2 つある場合、何も表示されません!

        foreach (HtmlElement elm in webBrowser1.Document.All)
        if (elm.GetAttribute("className") == "link3")
        {
            HtmlDocument doc = webBrowser1.Document;
            doc.Body.InnerHtml = elm.InnerHtml;
        }
4

1 に答える 1

7

代わりにこれを使用してください:

StringBuilder sb=new StringBuilder();
foreach (HtmlElement elm in webBrowser1.Document.All)
    if (elm.GetAttribute("className") == "link3")
        sb.Append(elm.InnerHtml);
HtmlDocument doc = webBrowser1.Document;
doc.Body.InnerHtml=sb.ToString();
于 2013-06-24T07:58:52.560 に答える