C# 仅获取父节点的子节点

C# 仅获取父节点的子节点,c#,html-agility-pack,C#,Html Agility Pack,我尝试使用html敏捷包。基本的工作很好,只有当我尝试获取一个零件的子节点时,我才不会获取所有具有该类的节点“dealer offer”在哪个parentnode中相等 下面是我用于它的代码: private void getListOfDiv(string html, string classname) { if (html != null) { var doc = new HtmlAgilityPack.HtmlDocume

我尝试使用html敏捷包。基本的工作很好,只有当我尝试获取一个零件的子节点时,我才不会获取所有具有该类的节点“dealer offer”在哪个parentnode中相等

下面是我用于它的代码:

private void getListOfDiv(string html, string classname)
    {

        if (html != null)
        {

            var doc = new HtmlAgilityPack.HtmlDocument();
            doc.LoadHtml(html);

            var divProduktkategorie = doc.DocumentNode.SelectSingleNode("//div[@class='" + classname + "']");

            //this.txtHtmlCode.Text = divProduktkategorie.InnerHtml;
            //return;
            int i = 1;

            foreach( var divAngebote in divProduktkategorie.SelectNodes("//div[@class='dealer-offer']"))
            {
                this.listBox1.Items.Add(i + ": " + classname);
                this.txtHtmlCode.AppendText(divAngebote.OuterHtml);
                i++;
            }
        }
    }
我将divProduktkategorie返回到outputfild,然后我只得到这个单节点下的3个位置,但我启动循环,然后我得到每个节点的类“经销商报价”,而不仅仅是3个位置

我的错在哪里?我不是自己找到的


感谢您的帮助

尝试获取具有正确相对路径的3个节点,然后直接访问它们。不要在divProduktkategorie参考中搜索它们

private void getListOfDiv(string html, string classname)
{

    if (html != null)
    {

        var doc = new HtmlAgilityPack.HtmlDocument();
        doc.LoadHtml(html);

        var divProduktkategorie = doc.DocumentNode.SelectSingleNode("//div[@class='" + classname + "']//div[@class='dealer-offer']");

        //this.txtHtmlCode.Text = divProduktkategorie.InnerHtml;
        //return;
        int i = 1;

        foreach( var divAngebote in divProduktkategorie)
        {
            this.listBox1.Items.Add(i + ": " + classname);
            this.txtHtmlCode.AppendText(divAngebote.OuterHtml);
            i++;
        }
    }
}