我正在使用Html Agility Pack来获取网页。 我想收集以下表格的所有文字:
<li><a href="/deal/map/4087664" class="show-location" title="bla bla" data-address="TEXT I AM LOOKING FOR"></a></li>
我试过这段代码:
var web = new HtmlWeb();
var doc = web.Load(url);
var nodes1 = doc.DocumentNode.SelectNodes("//[@data-address]");
var nodes2 = doc.DocumentNode.SelectNodes("//[@data-address={0}]");
都引发了异常:Expression必须求值为一个节点集。 我怎样才能纠正我的选择器?
答案 0 :(得分:8)
我不是任何方式的XPath专家,但我怀疑你想要:
// Note the *
var nodes1 = doc.DocumentNode.SelectNodes("//*[@data-address]");
换句话说“具有data-address
属性的任何元素”