如何从特定单元格C#Html敏捷包中获取值

如何从特定单元格C#Html敏捷包中获取值,c#,html-parsing,html-agility-pack,C#,Html Parsing,Html Agility Pack,如何从文档第二个表中的特定位置获取值。我需要下面html文档中第二个单元格和第三列的值。我该怎么做呢 <html> <head> <title>Tables</title> </head> <body> <table border="1"> <tr> <th>Room</th> <th>Location</th> </tr&

如何从文档第二个表中的特定位置获取值。我需要下面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>

桌子
房间
位置
油漆
A4
股票
地下三层
装配
N9

产品 材料 重量 大小 掩护 塑料 4. 16 定金 钢 12 8. 别针 青铜色 18 7.

过程 位置 数 修剪 S2 8. 完成 D2 3.
谢谢

还有。。。请帮助一个新手!!!
请告诉我一个可以帮助我理解Html Agility Pack(HAP)语法的资源。我有用于HAP的CHM文件-我尝试过使用它,也尝试过使用VS的对象浏览器用于HAP,但在这一点上,它对我来说太神秘了。

Html Agility Pack配备了一个XPATH计算器,它跟踪解析的Html节点。注意,与此库一起使用的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
表示从root递归获取任何表元素<代码>[2]表示选择第二张表

/tr
表示从当前表中获取任何tr元素<代码>[2]表示坐第二排

/td
表示从当前行获取任何td元素<代码>[3]表示取第三个单元格


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

应该是继承/重用XmlDocument。查询/筛选器语法使用xpath。例如:HtmlAgilityPack.HtmlDocument.DocumentNode.SelectNodes(“//div[@class=\'myContent\']”);