爲什麼選擇我的文檔中的所有<li>
元素?Html Agility Pack,節點中的SelectNodes
HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load(url);
var travelList = new List<Page>();
var liOfTravels = doc.DocumentNode.SelectSingleNode("//div[@id='myTrips']")
.SelectNodes("//li");
我要的是讓在<div>
所有<li>
元素與「myTrips」的id
。
我不認爲查詢是一樣的。實際上,當他做第一個選擇「//div [@ id ='myTrips']」當前節點改變。這就是爲什麼第二個選擇應該是「.//li」(來自當前節點的任何地方)而不是「// li」(從根節點的任何地方)。敏捷性的確如預期的那樣。 – derloopkat
@derloopkat,他們**是相同的(這裏沒有恕我直言;如果他們不是,你可以在解決方案查詢中刪除點,但你不能,你能嗎?)。不幸的是,HTMLAgilityPack從根目錄搜索,無論你在哪個節點。恕我直言部分是這樣的 - 通常關注給定節點的重點是,您繼續從該節點搜索**,而不是從根節點再次搜索。在第二個子查詢中沒有添加點的解決方案查詢根本沒有意義,因此問題爲什麼支持它們? – greenoldman
我們正在談論不同的事情。當我說查詢不一樣時,我正在談論「// li」和「。//li」。通過「那些查詢」你可以參考下面的查詢。 – derloopkat