0

我必须像这样解析html:

<div class="navig-nav">
  <ul class="navig" id="navigmenu">
    <li class="navig-expanded navig-selected">Company</li>
    <li class="navig-sub"><div>Summary</div></li>
    <li class="navig-sub"><a href="any_url_1">Some</a></li>
    <li class="navig-sub"><a href="any_url_2">Interesting</a></li>
    <li class="navig-sub"><a href="any_url_3">Information</a></li>
    <li class="navig-item"><a href="any_url_4"><div>From</div></a></li>
    <li class="navig-item"><a href="any_url_5"><div>Web</div></a></li>
    <li class="navig-item"><a href="any_url_6"><div>Page</div></a></li>
  </ul>
</div>

在这个菜单中(如您所见),所有班级都有不止一个孩子。如果我只有名称“Interesting”,如何使用 csQuery 获得“any_url_2”?

4

2 回答 2

0

关于什么

dom["a:contains('Interesting')"];

那么这里有一个更完整的查询:

CQ dom = "your html here";
var result = dom["a[href='any_url_2']:contains('Interesting')"];
if (result.Length == 1)
{
    Console.WriteLine(result[0].Attributes["href"]);
}
于 2016-05-20T14:38:13.377 回答
0

这是:

dom[".navig-sub"].Find("a:contains('Interesting')")

一个好的答案?

于 2016-05-21T12:53:46.333 回答