Мне не нравятся некоторые дизайнерские решения, сделанные в HtmlAgilityPack:
- При использовании
SelectNodes
, если ни один из узлов не найден, он возвращаетnull
, а не пустой набор, поэтому вы не можете простоforeach
над ним без нулевой проверки. - При попытке выбрать детей с помощью
node.SelectNodes
он фактически ищет из корня документа, если вы не используетеdescendant::
, который вообще не является очевидным или ожидаемым, IMO. -
HtmlDocument.Load
не возвращает корень node, который вам нужен в 99% случаев, я думаю
Вы можете не согласиться с этим, конечно, но это не главное. Я ищу что-то другое. Что-то, что ведет себя немного более ожидаемо, или что-то, что использует синтаксис jQuery, будет еще лучше. Предложения?