我尝试使用AngleSharp获取所有最内层表的列表。此表不包含任何表。
使用HtmlAgilityPack我已经意识到了这一点:
var wrapper = html.DocumentNode.SelectSingleNode(".//td[@class='wrapper']");
var innerMostTables = wrapper.SelectNodes(".//table [not(descendant::table)]");
使用AngleSharp我试过这个,但它不起作用:
var parser = new HtmlParser();
var document = parser.Parse(html);
var wrapper = document.All.Where(d => d.ClassName == "wrapper");
var innerMostTables = wrapper.Where(w => w.Descendents()
.Select(c => c.NodeName == "table").Count() == 0);
答案 0 :(得分:0)
我可以解决问题:
foreach (IElement ch in wrapper.Descendents()
.Where(d => d.NodeName == "TABLE" && d.Descendents()
.Where(d2 => d2.NodeName == "TABLE").Count() == 0))
{
Console.WriteLine(ch.OuterHtml);
}