Html Agility Pack - не работает на тривиальщине
От: Kolesiki  
Дата: 27.02.16 22:22
Оценка:
Господа, если кто с этим "чудом" работал, подскажите, что за #%$#% творится в этой либе?
Имеем простейший код, задача которого — собрать все input'ы из формы.

var html = new HtmlDocument();
html.LoadHtml(@"
<html>
<body>

<form action='1'>
    <div>
        <input name='f1' value='v1' />
    </div>
    <input name='f2' value='v2' />
</form>

</body>
</html>
");
var form = html.DocumentNode.SelectSingleNode("//form");// тут всё хорошо - форма находится
if (form != null) {
    var n = form.SelectNodes(".//input");// а тут - null!!
}


Помимо откровенно дебильного API (возвращать вместо пустой коллекции — null), эта либа не может даже толком собрать подузлы!
И что интересно, сам объект form имеет пустую коллекцию ChildNodes. Вопрос: лыжи не едут, библиотека чудит или выбрать один чёртов узел стало настолько хитрой задачей? XPath-то проще некуда!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.