Html Agility Pack C#:表达式必须计算为节点集
我正在使用 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}]");
都抛出了异常:表达式必须计算为节点集。 我该如何纠正我的选择器?
I'm using Html Agility Pack to fetch a webpage.
I want to collect all the TEXT I AM LOOKING FOR of the following form:
<li><a href="/deal/map/4087664" class="show-location" title="bla bla" data-address="TEXT I AM LOOKING FOR"></a></li>
I tried this code:
var web = new HtmlWeb();
var doc = web.Load(url);
var nodes1 = doc.DocumentNode.SelectNodes("//[@data-address]");
var nodes2 = doc.DocumentNode.SelectNodes("//[@data-address={0}]");
both threw an exception: Expression must evaluate to a node-set.
How can i correct my selector ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
无论如何,我都不是 XPath 专家,但我怀疑您想要:
换句话说,“任何具有
data-address
属性的元素”I'm not an XPath expert by any means, but I suspect you want:
In other words "any element with a
data-address
attribute"