0

使用 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 控件加载页面。页面加载完美。接下来我要做的是搜索表中的所有行并检查它们是否包含特定值;例如在这种情况下是的。如果它们包含它,我希望将行传递给我,以便我可以将其存储为字符串。但我希望该行采用 HTML 格式。(包含标签)。

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

4

2 回答 2

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);
}
于 2013-07-19T20:26:42.163 回答
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>';
于 2013-07-19T20:13:57.940 回答