2011-08-27 37 views
2

我使用Html Agility Pack來獲取網頁。 我想收集所有我找以下形式的文本:Html Agility Pack C#:表達式必須評估爲節點集

<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}]"); 

都引發了異常:表達式的值必須爲節點集。 我如何糾正我的選擇器?

回答

8

我不以任何方式一個XPath專家,但我懷疑你想要的:

// Note the * 
var nodes1 = doc.DocumentNode.SelectNodes("//*[@data-address]"); 

換句話說

「與 data-address屬性的元素」
相關問題