如何从特定单元格中获取值c# html - agile - pack

本文关键字:html 获取 agile pack 单元格 | 更新日期: 2023-09-27 18:12:52

如何从文档中第二个表中的特定位置获取值?我需要从第二个单元格下来的值和第三列在下面的html文档。我该怎么做呢?

<html>
<head>
<title>Tables</title>
</head>
<body>
<table border="1">
  <tr>
    <th>Room</th>
    <th>Location</th>
  </tr>
  <tr>
    <td>Paint</td>
    <td>A4</td>
  </tr>
  <tr>
    <td>Stock</td>
    <td>B3</td>
  </tr>
  <tr>
    <td>Assy</td>
    <td>N9</td>
  </tr>
</table>
<p></p>
<table border="1">
  <tr>
    <th>Product</th>
    <th>Mat'l</th>
    <th>Weight</th>
    <th>Size</th>
  </tr>
  <tr>
    <td>Cover</td>
    <td>Plastic</td>
    <td>4</td>
    <td>16</td>
  </tr>
  <tr>
    <td>Retainer</td>
    <td>Steel</td>
    <td>12</td>
    <td>8</td>
  </tr>
  <tr>
    <td>Pin</td>
    <td>Bronze</td>
    <td>18</td>
    <td>7</td>
  </tr>
</table>
<p></p>
<table border="1">
  <tr>
    <th>Process</th>
    <th>Location</th>
    <th>Number</th>
  </tr>
  <tr>
    <td>Trim</td>
    <td>S2</td>
    <td>8</td>
  </tr>
  <tr>
    <td>Finish</td>
    <td>D2</td>
    <td>3</td>
  </tr>
</table>
</body>
</html>

谢谢!

也……请帮助一个新手!!请给我一个资源,可以帮助我理解html - agile - pack (HAP)的语法。我有CHM文件的HAP -我曾试图使用它,我曾试图使用VS的对象浏览器的HAP,但它太神秘了,我在这一点。

如何从特定单元格中获取值c# html - agile - pack

Html Agility Pack配备了一个XPATH求值器,它在解析的Html节点上遵循。net XPATH语法。注意,这个库使用的XPATH表达式要求元素和属性名是小写的,独立于原始HTML源代码。

在这里,你可以得到第3列第2行第2表的单元格表达式如下:

HtmlDocument doc = new HtmlDocument();
doc.Load(YouTestHtmlFilePath);
HtmlNode node = doc.DocumentNode.SelectSingleNode("//table[2]/tr[2]/td[3]");
Console.WriteLine(node.InnerText); // will output "4"

//table表示从根递归地获取任何TABLE元素。[2]表示取第二张表

/tr表示从当前表中获取任何TR元素。[2]表示取第二行

/td表示从当前行获取任何TD元素。[3]表示取第三个单元格

您可以在这里找到很好的XPATH教程:XPATH Tutorial