我想從這裏得到的球員名單:的XPath/HTMLAgilityPack問題
http://www.basketball-reference.com/boxscores/201105090BOS.html
要做到這一點的第一個表,我使用以下命令:
HtmlNode reboundsNode = doc.DocumentNode.SelectSingleNode("//table[@class='sortable stats_table']/tbody[1]");
foreach(HtmlNode node in reboundsNode.SelectNodes("tr"))
{
// Get the 'td's.
}
我不得不把它分解分成兩行,因爲"//table[@class='sortable stats_table']/tbody[1]/tr"
從所有表格體中選擇了tr
s,而不是第一個。有誰知道爲什麼?
我從第二個表中獲取數據時也遇到問題(實際上源表中的表號3,因爲表2和表4在默認視圖中不可見)。當我選擇"//table[@class='sortable stats_table']"
時,它顯示有四個表格,但是當我做"//table[@class='sortable stats_table'][3]"
時,它找不到任何東西(當我嘗試使用結果時,我得到一個未綁定的對象異常。爲什麼?
奇怪。那麼爲什麼[N]符號爲我多種其他表達方式? – Hui 2011-06-11 15:44:58
我不知道(也許有些MS選項等等),但它對XPath無效,它對於JavaScript,C,PHP有效...... – SergeS 2011-06-12 12:51:31
[N]子標記確實對XPath有效,例如, 'para [1]選擇上下文節點的第一個子節點「請參閱 http://www.w3.org/TR/xpath/#path-abbrev – agentnega 2013-02-25 22:26:56