使用Windows窗体和C#。 例如......
<table id=tbl>
<tbody>
<tr>
<td>HELLO</td>
<td>YES</td>
<td>TEST</td>
</tr>
<tr>
<td>BLAH BLAH</td>
<td>YES</td>
<td>TEST</td>
</tr>
</tbody>
</table>
我使用WebBrowser控件加载页面。页面加载完美。 我要做的下一件事是搜索表中的所有行并检查它们是否包含特定值;例如在这种情况下是YES。 如果它们包含它我想把行传递给我,所以我可以将它存储为字符串。 但我希望行以HTML格式。 (包含标签)。
我怎样才能做到这一点? 请帮帮我。
答案 0 :(得分:1)
您可以使用HtmlAgilityPack轻松解析html。例如,要获取所有TD元素,您可以执行以下操作:
string value = @" <table id=tbl>
<tbody>
<tr>
<td>HELLO</td>
<td>YES</td>
<td>TEST</td>
</tr>
<tr>
<td>BLAH BLAH</td>
<td>YES</td>
<td>TEST</td>
</tr>
</tbody>
</table>";
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(value);
var nodes = doc.GetElementbyId("tbl").SelectNodes("tbody/tr/td");
foreach (var node in nodes)
{
Debug.WriteLine(node.InnerText);
}
答案 1 :(得分:0)
你可以使用这个:http://simplehtmldom.sourceforge.net/,它是如何在HTML文件中搜索的非常简单的方法
只需将simple_html_dom.php包含在您的文件中,然后按照本手册操作即可 http://simplehtmldom.sourceforge.net/manual.htm
你的php代码看起来像
$html = file_get_html('File.html');
foreach($html->find('td') as $element)
echo $element->text. '<br>';