¿Cómo conseguir una etiqueta específica?

c# html-agility-pack

Pregunta

Estoy usando HtmlAgilityPack y estoy tratando de obtener a etiqueta específica que contenga un texto particular dentro. Supongamos que tengo esta estructura html:

<ul>
    <li class="current">
        <a href="/matches/2018/05/20/italy/serie-a/ss-lazio-roma/fc-internazionale-milano/2539153/">Summary</a>
    </li>
    <li class="">
        <a href="/matches/2018/05/20/italy/serie-a/ss-lazio-roma/fc-internazionale-milano/2539153/head2head/">H2H Comparison</a>
    </li>
    <li class="">
        <a href="/matches/2018/05/20/italy/serie-a/ss-lazio-roma/fc-internazionale-milano/2539153/commentary/">Commentary</a>
    </li>
    <li class=""><a href="/matches/2018/05/20/italy/serie-a/ss-lazio-roma/fc-internazionale-milano/2539153/venue/">Venue</a>
    </li>
    <li class="">
        <a href="/matches/2018/05/20/italy/serie-a/ss-lazio-roma/fc-internazionale-milano/2539153/map/">Map</a>
    </li>
</ul>

Quiero conseguir la a etiqueta que contiene como InnerText : "Lugar". En realidad mi idea es esta:

var nodes = nodes.SelectNodes("//li//a");
HtmlNode a;

foreach(var node in nodes)
{
   if(node.InnerText.ToLower().Contains("venue"))
   {
       a = node;
       break;
   }
}

este es un código que funciona pero existe otra forma tal vez usando xpath o algo así?

Respuesta aceptada

Esto devolverá todas las etiquetas de anclaje que contienen la palabra "Lugar" //a[contains(text(),'Venue')]



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é