我正在使用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之类的方法吗?
答案 0 :(得分:1)
这将返回所有包含单词“ Venue” //a[contains(text(),'Venue')]