Obtener texto dentro de un lapso

c# html-agility-pack

Pregunta

Tengo una página HTML con este código.

<span class="titoloSerie" style="font-size: 40px; color: #000000;">SHOW NAME</span>

Quiero obtener "MOSTRAR NOMBRE". Probé el siguiente código, pero no funcionó:

var div = doc.DocumentNode.SelectNodes("//span[@class='titoloSerie']");

El compilador interrumpe diciendo "div es nulo" (ok, no manejé la excepción pero la conozco).

El siguiente código es:

List<string> pageTitles = new List<string>();
foreach (var title in div)
{
    pageTitles.Add(title.InnerText);
}

El compilador se cierra en el bucle foreach en "div" y dice que es nulo.

Respuesta aceptada

Prueba esto:

var rigaStagioneSerie = document.DocumentNode.SelectNodes("//td[@class='rigaStagioneSerie']");
List<string> pageTitles = new List<string>();

foreach (var title in rigaStagioneSerie)
{
    if (title.ChildNodes.Count == 1)
    {
        pageTitles.Add(title.InnerText.Replace("\n", string.Empty).Replace("\t", string.Empty));
    }

}

var titoloSerie = document.DocumentNode.SelectNodes("//span[@class='titoloSerie']");

foreach (var title in titoloSerie)
{
    pageTitles.Add(title.InnerText);
}

Pruébalo aquí: .NET Fiddle




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é