如何从文档中第二个表中的特定位置获取值。我需要下面的 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>
Thanks!
另外...请帮助新手!
请指导我找到可以帮助我理解 Html-Agility-Pack (HAP) 语法的资源。我有 HAP 的 CHM 文件 - 我尝试过使用它,并且尝试使用 VS 的对象浏览器来处理 HAP,但此时它对我来说太神秘了。
Html Agility Pack 配备了一个 XPATH 评估器,如下所示.NET XPATH 语法 http://msdn.microsoft.com/library/ms256471.aspx覆盖已解析的 HTML 节点。请注意,与此库一起使用的 XPATH 表达式要求元素和属性名称为小写,独立于原始 HTML 源。
因此,在您的情况下,您可以使用如下表达式获取第三列、第二行、第二个表的单元格:
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]
意思是取第2行。
/td
表示从当前行获取任何 TD 元素。[3]
表示取第三个单元格。
您可以在这里找到优秀的 XPATH 教程:XPath 教程 http://www.w3schools.com/xpath/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)