2010-03-26 45 views
1

Winform的: Web浏览器控件Web浏览器控件:获取元素的值,并将其存储到一个变量

Web浏览器有以下显示的内容,一个HTML表格内。

[Element] [Value] 
Name  John Smith 
Email  [email protected] 

对于上面的例子中,HTML代码,可能是这个样子

<table> 
    <tbody> 
    <tr> 

     <td><label class="label">Name</label></td> 
     <td class="normaltext">John Smith</td> 
    </tr> 
    <tr> <td><label class="label">Email</label></td> 
     <td><span class="normaltext">[email protected]</span></td> 
</tr> 
    </tr> 
    </tbody> 
</table> 

我想获取元素值,即标签右侧的值。

这样做的最佳方法是什么?

(我可以使用DOM还是需要用正则表达式来阶段化html代码?) 。

回答

3

有多种方法可以完成此操作。

例如,这会为你工作吗?

using System.Windows.Forms; 

namespace TestWebBrowser 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 

      webBrowser1.DocumentText = @"<html><body><table> 
    <tbody> 
    <tr> 

     <td><label class=""label"">Name</label></td> 
     <td class=""normaltext"">John Smith</td> 
    </tr> 
    <tr> <td><label class=""label"">Email</label></td> 
     <td><span class=""normaltext"" id=""e1"">[email protected]</span></td> 
</tr> 
    </tr> 
    </tbody> 
</table> 
</body> 
</html>"; 
     } 

     private void button1_Click(object sender, System.EventArgs e) 
     { 
      HtmlElement e1 = webBrowser1.Document.GetElementById("e1"); 
      MessageBox.Show(e1.InnerText); 
     } 
    } 
} 
相关问题