2009-10-20 43 views
0

我有這個網址: -HTML頁面上的Xpath查詢 - 語法?

http://ask.recipelabs.com/users

,我希望找到在div ID「尋呼機」最高的頁面數(在這種情況下,7)

我都試過,但它返回零:

function getusers($url) 
{ 
$doc = new DOMDocument; 
$doc->loadhtml($url); 
$xpath = new DOMXPath($doc); 
$nodelist = $xpath->query('//span[@class="page-numbers"]'); 
echo 'there are ', $nodelist->length, ' span elements having class="page-numbers"'; 
} 

我的語法不正確?我當時希望能夠通過陣列並找到最高的數字。

感謝

喬納森

+1

直接相關http://stackoverflow.com/questions/1595072/extract-value-from-web-page – VolkerK 2009-10-20 19:37:21

+0

頁面驗證爲xml嗎?如果它不XPath可能不會找到你要找的。 – dnagirl 2009-10-20 19:39:40

回答

0

你可以嘗試:

 
(//span[@class="page-numbers"][number(.) > 0])[last()] 

這給了你,還是有一些,因爲它的內容的一個最後一個節點。

+0

,似乎不工作 - 你可以嘗試一下,他包括我包括的URL和我提供的全部功能嗎? – 2009-10-20 19:47:09

+0

該數組是空的 – 2009-10-20 19:47:42

0

的問題是,你正在使用

$doc->loadhtml($url); 

,除非$網址是嚴重命名,它是一個包含URL,而不是HTML的字符串。這樣的字符串解析一個非常空的DOM,當然不是一個所有預期的XPath,等等...

也許你的意思是$doc = loadHTMLFile($url);