如何获得特定的标签?

时间:2018-07-13 06:40:34

标签: c# html-agility-pack

我正在使用HtmlAgilityPack,并且试图获取一个特定的a标签,该标签中包含特定的文本。 假设我具有以下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>

我想获取a标签,其中包含为InnerText:“ Venue”。 其实我的想法是这样的:

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

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

这是代码有效的方法,但是存在另一种可能使用xpath之类的方法吗?

1 个答案:

答案 0 :(得分:1)

这将返回所有包含单词“ Venue” //a[contains(text(),'Venue')]

的锚标签。