Страницы

Поиск по вопросам

вторник, 9 июля 2019 г.

При парсинге с помощью CsQuery текст элемента получаетсяв 16-м коде

Пробую использовать CsQuery для парсинга html. Есть в html документе набор дивов с классом some_class. Внутри каждого дива текст на русском. Пробую парсить дивы следующим образом:
//... CQ cq = CQ.Create(html, Encoding.UTF8); List items = cq.Find("div.some_class").ToList(); // Демо код для просмотра содержимого item-ов items.ForEach(x => var test = x.InnerText);
В результате в test текст представлен в 16-тиричном коде. Покопался в IDomObject, не нашёл способа задать кодировку.Также не понятно почему кодировка слетает, если задал её при создании объекта cq.
Сталкивался ли кто-нибудь с подобной ситуацией?


Ответ

Это баг в версии 1.3.4 CsQuery. В сообщении об ошибке упоминается метод обхода проблемы: использовать .Cq().Text() вместо .InnerText
Проблема устранена в версии 1.3.5 beta, так что если не боитесь бета-версии, переходите на неё.

Комментариев нет:

Отправить комментарий