Winform:网络浏览器控件
网页浏览器在html表格中显示以下内容。
[Element] [Value]
Name John Smith
Email jsmith@hotmail.com
对于上面的示例,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">jsmith@hotmail.com</span></td>
</tr>
</tr>
</tbody>
</table>
我想获取元素值,即标签右侧的值。
这样做的最佳方式是什么?
(我可以使用DOM还是需要使用正则表达式对html代码进行分阶段?)
答案 0 :(得分: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"">jsmith@hotmail.com</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);
}
}
}