HtmlAgilityPack - Получить контент DIV

c# html html-agility-pack scrape string

Вопрос

Я пытаюсь получить некоторый текст из DIV с помощью HtmlAgilityPack в WinForms C #.

Мой код:

var doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml("http://www.tibia.com/news/?subtopic=latestnews");
var res = doc.DocumentNode.SelectSingleNode("//div[@id='PlayersOnline']");
var content = res.InnerHtml;

// Print content
MessageBox.Show(content);

Содержимое, которое я пытаюсь получить, это: http://www.tibia.com/news/?subtopic=latestnews

В правом верхнем углу сайта есть поле, в котором указано количество «игроков онлайн». Я хочу получить эту сумму.

HTML на веб-сайте выглядит так:

<div id="PlayersOnline" onclick="window.location = 'https://secure.tibia.com/community/?subtopic=worlds';">11723<br>Players Online</div>

Поэтому я хочу получить 11723 как выход. Не имело бы значения, если я получу весь: 11723<br>Players Online как выход. я мог бы просто повторить регулярное выражение позже или разделить строку или что-то еще, чтобы игнорировать тег br.

Но ни один из моих кодов не работает, и я не знаю, почему. приложение вылетает и говорит:

System.NullReferenceException: 'Object reference not set to an instance of an object.'

<res>5__8 was null.

Популярные ответы

Попробуйте InnerText вместо InnerHtml

var content = doc.DocumentNode.SelectSingleNode("//div[@id='PlayersOnline']").InnerText;


Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему