Как можно удалить все строки из таблицы HTML с помощью anglesharp? - PullRequest
0 голосов
/ 17 января 2020

Как можно удалить все строки из таблицы HTML с помощью anglesharp?

Я пытаюсь удалить все строки в таблице. Я прочитал эту документацию , однако строки не удаляются.

Мой код выглядит следующим образом:

public void DeleteRows(IElement table)
{
    foreach (var row in table?.QuerySelectorAll("tr"))
    {
        row.Remove();
    }
    var lengthAfterDeletion = table?.QuerySelectorAll("tr")?.Length;
}

Как можно удалить все строки из HTML таблица с использованием anglesharp?

1 Ответ

3 голосов
/ 18 января 2020

Я думаю, что мы выяснили это за это время (см. https://github.com/AngleSharp/AngleSharp/issues/838).

Только для дальнейшего использования (на случай, если кто-то столкнется с той же проблемой, что происходит довольно легко) ):

public void DeleteRows(IElement table)
{
    var rows = table?.QuerySelectorAll("tr").ToArray();
    foreach (var row in rows)
    {
        row.Remove();
    }
    var legnthAfterDeletion = table?.QuerySelectorAll("tr")?.Length;
}

Ключ к получению снимка состояния c перед изменением DOM. Следовательно, .ToArray(), который приходит из LINQ и может применяться к любому итератору.

...