如何在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格式的(包含标记)。

我怎样才能做到这一点?请帮帮我。

如何在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>';