使用HtmlAlityPack提取特定的HTML文本

使用HtmlAlityPack提取特定的HTML文本,html,filter,nodes,Html,Filter,Nodes,试试这个: if (htmlDoc.DocumentNode != null) { foreach (HtmlNode text in htmlDoc.DocumentNode.SelectNodes(???) { ??? } } var html=@“第1列第2列第3列第4列文本1文本2文本3文本4”; var doc=新的HtmlDocum

试试这个:

        if (htmlDoc.DocumentNode != null)
        {
            foreach (HtmlNode text in htmlDoc.DocumentNode.SelectNodes(???)
            {
                ???
            }
        }
var html=@“第1列第2列第3列第4列文本1文本2文本3文本4”;
var doc=新的HtmlDocument();
doc.LoadHtml(html);
var textNodes=doc.DocumentNode.SelectNodes(@//tr[@class='偶数']]/td/text()”).ToList();
foreach(textNodes中的var textNode)
{
Console.WriteLine(textNode.InnerText);
}

像做梦一样工作!非常感谢。我还有一个问题。如果还有一个名为“奇”的类,我希望有一个源代码中的列表(偶、奇、偶、奇等)。那我怎么写这个问题呢?今天,我将“偶数”一词替换为“奇数”,将“奇数”保存到第二个列表中,然后将第二个列表添加到第一个列表中。但这样一来,它们的顺序就错了,因为它在开始时会有所有的“偶数”,在结束时会有所有的“奇数”。如果它们像我的问题中那样是动态的呢?
        if (htmlDoc.DocumentNode != null)
        {
            foreach (HtmlNode text in htmlDoc.DocumentNode.SelectNodes(???)
            {
                ???
            }
        }
        var html = @"<table class=""result"" summary=""Summary Description.""> <tbody> <tr>     <th scope=""col"" class=""firstcol"">Column 1</th>     <th scope=""col"">Column 2</th>     <th scope=""col"">Column 3</th>     <th scope=""col"" class=""lastcol"">Column 4</th> </tr> <tr class=""even"">     <td class=""firstcol"">Text 1</td>     <td>Text 2</td>     <td>4Text 3</td>     <td class=""lastcol"">Text 4</td> </tr> </tbody></table>";
        var doc = new HtmlDocument();
        doc.LoadHtml(html);
        var textNodes = doc.DocumentNode.SelectNodes(@"//tr[@class='even']/td/text()").ToList();
        foreach(var textNode in textNodes)
        {
            Console.WriteLine(textNode.InnerText);
        }