РЕДАКТИРОВАТЬ: в своем обновленном ответе вы опубликовали часть строки HTML объявления элемента <input>
, но вы пытаетесь сопоставить элемент <body>
с классом pdf-ignore
(согласно к вашему выражению //body[@class='pdf-ignore']
).
Если вы хотите сопоставить все элементы документа с этим классом, вы должны использовать:
var nodes = htmlDoc.DocumentNode.SelectNodes("//*[contains(@class,'pdf-ignore')]");
код для получения ваших узлов. Это будет соответствовать всем элементам с указанным именем класса.
Ваш код кажется правильным, за исключением одной детали: условие htmlDoc.ParseErrors == null
. Вы выбираете и удаляете узлы ТОЛЬКО, если свойство ParseErrors
(тип IEnumerable<HtmlParseError>
) равно null
, но на самом деле, если ошибок не найдено, это свойство возвращает пустой список. Итак, изменив код на:
if (!htmlDoc.ParseErrors.Any())
{
// some logic here
}
должен решить проблему.