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

时间:2013-06-24 07:51:20

标签: c# html .net winforms webbrowser-control

我有这个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”指定的元素。

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

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

1 个答案:

答案 0 :(得分: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();