如何從文檔的第二個表中的特定位置獲取值。我需要在下面的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-Agility-Pack(HAP)語法的資源。我有HAP的CHM文件 - 我試圖使用它,我嘗試使用VS的對象瀏覽器進行HAP,但此時對我來說太神秘了。
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
表示從root用戶遞歸獲取任何TABLE元素。 [2]
意味著拿第二張桌子。
/tr
表示從當前表中獲取任何TR元素。 [2]
意味著走第2排。
/td
表示從當前行獲取任何TD元素。 [3]
意味著採取第[3]
細胞。
你可以在這裡找到很好的XPATH教程: XPath教程