0

行数が予測できない場合、特定のテーブルの特定の列の値を合計するにはどうすればよいですか? ヘッダー行にはテキストが含まれており、"" の代わりに "" が使用されていることに注意してください。

以下のサンプル HTML を使用して、最初のテーブルの 4 列目の値を合計し、他のすべてのテーブルを無視します。

最初のステップは、最初のテーブルの行数を取得することであり、次のステップは、最初の行を無視して合計を実行する計算を作成することです。

HTML の例。

<html>
<head>
<title>Tables</title>
</head>
<body>
<table border="1">
  <tr>
    <td>Name</td>
    <td>Phone</td>
    <td>City</td>
    <td>Number</td>
  </tr>
  <tr>
    <td>Scott</td>
    <td>555-2345</td>
    <td>Chicago</td>
    <td>42</td>
  </tr>
  <tr>
    <td>Bill</td>
    <td>555-1243</td>
    <td>Detroit</td>
    <td>23</td>
  </tr>
  <tr>
    <td>Ted</td>
    <td>555-3567</td>
    <td>Columbus</td>
    <td>9</td>
  </tr>
</table>
<p></p>
<table border="1">
  <tr>
    <td>Name</td>
    <td>Year</td>
  </tr>
  <tr>
    <td>Abraham</td>
    <td>1865</td>
  </tr>
  <tr>
    <td>Martin</td>
    <td>1968</td>
  </tr>
  <tr>
    <td>John</td>
    <td>1963</td>
  </tr>
</table>
<p></p>
</body>
</html>

ここでは、他の目的で使用したコードを参照します-(テーブル数を取得するため)。

namespace ConsoleApplication2
{
class Program
{
    static void Main(string[] args)
    {
        String html = "C:/TestFile.html";

        HtmlDocument doc = new HtmlDocument();
        doc.Load(html);

        int count = doc.DocumentNode.SelectNodes("//table").Count;

        // output to Console
        Console.WriteLine(count.ToString());
        Console.ReadLine();
    }
}
}

ありがとう!

もう1つ...構文を理解するのに役立つリソースを提案して、少し独立できるようにしてください。(私は HTML-Agility Pack の初心者で、数年前に C# を少し使用しました)

HAP 1.4.6 の CHM ファイルがあり、Visual Studio のオブジェクト ブラウザーで HtmlAgilityPack をナビゲートしようとしましたが、何が表示されているかわかりません。作業を開始するのに役立つリソースを教えてください。私がやろうとしていることについて、もう少し手がかりをいただければ幸いです。

ありがとうございます!

4

1 に答える 1