Wie bekomme ich einen Wert von einem bestimmten Ort in der zweiten Tabelle im Dokument. Ich brauche den Wert von der zweiten Zelle unten und dritten Spalte über in dem HTML-Dokument unten. Wie mache ich das.
<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>
Vielen Dank!
Auch ... bitte helfen Sie einem Neuling heraus !!! Bitte leiten Sie mich zu einer Ressource, die mir helfen kann, die Syntax von Html-Agility-Pack (HAP) zu verstehen. Ich habe die CHM-Datei für HAP - ich habe versucht, es zu verwenden, und ich habe versucht, VS Objekt-Browser für HAP zu verwenden, aber es ist zu kryptisch für mich an dieser Stelle.
Html Agility Pack ist mit einem XPATH-Evaluator ausgestattet, der der .NET XPATH-Syntax über die analysierten HTML-Knoten folgt. Beachten Sie, dass der mit dieser Bibliothek verwendete XPATH-Ausdruck unabhängig von der ursprünglichen HTML-Quelle Elemente und Attributnamen in Kleinbuchstaben erfordert.
In Ihrem Fall können Sie die Zelle für die 3. Spalte, 2. Zeile, 2. Tabelle mit einem Ausdruck wie diesem erhalten:
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
bedeutet, dass ein beliebiges TABLE-Element rekursiv von root abgerufen wird. [2]
bedeutet, nimm die 2. Tabelle.
/tr
bedeutet, dass ein beliebiges TR-Element aus dieser aktuellen Tabelle abgerufen werden kann. [2]
bedeutet, nimm die 2. Reihe.
/td
bedeutet, dass ein beliebiges TD-Element aus dieser aktuellen Zeile abgerufen wird. [3]
bedeutet, nimm die dritte Zelle.
Sie können hier gute XPATH Tutorials finden: XPath Tutorial