-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>hode 有两个子节点:<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 回答