如何在html表行中搜索
本文关键字:搜索 html | 更新日期: 2023-09-27 18:23:55
使用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格式的(包含标记)。
我怎样才能做到这一点?请帮帮我。
您可以使用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);
}
您可以使用这个: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>';