C#在webBrowser中查找并显示html元素

rez*_*eza 0 .net html c# webbrowser-control winforms

我有这个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>
Run Code Online (Sandbox Code Playgroud)

我想通过逐个类名来显示webBrowser控件中使用"link3"指定的元素.

这段代码有效,但如果我们有两个相同类名的元素,它什么都不显示!

        foreach (HtmlElement elm in webBrowser1.Document.All)
        if (elm.GetAttribute("className") == "link3")
        {
            HtmlDocument doc = webBrowser1.Document;
            doc.Body.InnerHtml = elm.InnerHtml;
        }
Run Code Online (Sandbox Code Playgroud)

Maj*_*jid 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();
Run Code Online (Sandbox Code Playgroud)