-1

HTMLAgility パックを使用して html を解析し、xpath を使用して特定のクラスのテーブル列を取得しています。

HtmlAgilityPack.HtmlWeb web = new HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = web.Load("www.url.com");

foreach (HtmlNode row in doc.DocumentNode.SelectNodes("(//td[@class='titleColumn'])[2]"))
{
    Response.Write(row.InnerHtml + "<br />");
}

データを取得すると、row.Innerhtml は次のようになります。

<a>Title</a> <span>Year</span><br />

a と span 要素の値を別々の文字列変数に保存したいと考えています。助けてください

4

1 に答える 1

2

xpath 式<td>は、 class を持つ秒を選択しtitleColumnます。ノードの内部 html によると、この<td>ホードには と の 2 つの子ノードが<a>あり<span>ます。したがって、これらのノードを簡単に見つけて、内部テキスト (または内部 html) をstring変数に入れることができます。ほら、これ:

foreach (var row in doc.DocumentNode.SelectNodes("(//td[@class='titleColumn'])[2]"))
{
    var a = row.SelectSingleNode("a");
    var span = row.SelectSingleNode("span");

    Console.WriteLine(a.InnerText);
    Console.WriteLine(span.InnerText);
}

出力します:

Title
Year
于 2013-10-30T22:07:29.117 に答える