HtmlAgilityPack - Obtener contenido DIV

c# html html-agility-pack scrape string

Pregunta

Estoy tratando de obtener algún texto de un DIV con HtmlAgilityPack en WinForms C #.

Mi código es:

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);

El contenido que estoy tratando de obtener es de: http://www.tibia.com/news/?subtopic=latestnews

En la parte superior derecha del sitio web hay un cuadro que dice la cantidad de "Jugadores en línea". Quiero conseguir esa cantidad.

El HTML en el sitio web se ve así:

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

Así que quiero obtener 11723 como salida. No importa si obtengo la totalidad: 11723<br>Players Online como salida. Podría hacer una expresión regular más tarde o dividir una cadena o algo así, para ignorar la etiqueta br.

Pero ninguno de mi código está funcionando y no sé por qué. la aplicación se bloquea y dice

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

<res>5__8 was null.

Respuesta popular

Pruebe InnerText lugar de InnerHtml

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


Related

Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué