在CsQuery中循环遍历div中的元素

时间:2014-02-07 12:35:46

标签: c# csquery

我正在尝试打开一个HTML文件,遍历符合特定条件的div,然后循环遍历这些div中符合某个条件的p标记。

CQ dom = CQ.CreateFromFile("page.html");
CQ document_divs = dom["div"];
document_divs.Each((i,document_div) =>
{
    string divid = document_div.Id;
    if (divid.Contains("page"))
    {
        CQ page_ptags = document_div["p"];
        page_ptags.Each((j, page_ptag) =>
        {
            lblOutput.Text = page_ptag.Id;
        });

    }

});

选择div很好,但我不知道如何在div中选择p标签。我知道这条线有问题:

CQ page_ptags = document_div["p"];

但是我应该改变什么呢?

2 个答案:

答案 0 :(得分:3)

试试这个:

CQ page_ptags = document_div.Cq().Find("p");

答案 1 :(得分:0)

当您查看抛出CQ对象时,每个元素都将是IDom的类型。 这就是您需要或将其包装在CQ对象中,或使用本机Dom函数来处理的原因。