Цикл элементов в div в CsQuery

Я пытаюсь открыть HTML-файл, пройтись по элементам div, которые соответствуют определенным критериям, а затем выполнить цикл по тегам p, которые соответствуют определенным критериям в этих элементах div.

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, но я не уверен, как выбрать теги p внутри div. Я знаю, что с этой строкой что-то не так:

CQ page_ptags = document_div["p"];

Но что я должен изменить?

2 ответа

Решение

Попробуй это:

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

Когда вы смотрите бросить объект CQ, каждый элемент будет иметь тип IDom. Вот почему вам нужно или обернуть его в объект CQ, или использовать нативные функции Dom для работы.

Другие вопросы по тегам