使用 HTMLAgility pack 检索元素的值
本文关键字:元素 检索 HTMLAgility pack 使用 | 更新日期: 2023-09-27 18:36:39
我正在使用HTMLAgility pack来解析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 />");
}
我检索数据和行。Innerhtml看起来像这样。
<a>Title</a> <span>Year</span><br />
我想将 a 和 span 元素的值保存在单独的字符串变量中。请帮忙
xpath 表达式选择具有类titleColumn
的第二个<td>
。根据节点的内部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