2016-11-19 74 views
0

我讀了很多的stackoverflow問題,我使用這段代碼,但我不知道爲什麼這是行不通的。
這是一個代碼。DOMXPath對象值被省略

$url = 'http://m.cricbuzz.com/cricket-schedule'; 
$source = file_get_contents($url); 

$doc = new DOMDocument; 
@$doc->loadHTML($source); 

$xpath = new DOMXPath($doc); 
$classname = "list-group"; 
$events = $xpath->query("//*[contains(@class, '$classname')]"); 

var_dump($xpath); 

能否請你檢查一下爲什麼這實際上不是我想從list-group

+0

要獲得一個值,使用'評估',請參閱https://stackoverflow.com/a/45010743/287948 –

回答

0

獲取數據時的代碼是正確的。它正確地獲取DOM的列表中的節點具有指定的類屬性值到$events變量:

$events = $xpath->query("//*[contains(@class, '$classname')]"); 

這是DOMNodeList一個實例。接下來,您應該迭代列表並從$events中獲取您需要的數據。例如,如果你需要的節點外HTML,使用這樣的:

foreach ($events as $e) { 
    printf("<<<<<\n%s\n>>>>>\n", $e->ownerDocument->saveXML($e)); 
} 

P.S:我會重新命名$events$elements

+0

這段代碼不適用於我我檢查了'var_dump'它給了我這個'對象值省略' –

+0

在我的wamp服務器 –

+0

@AzeemHaider中是否有任何問題,請查看[this](https://eval.in/680762)小提琴。由於服務器不允許,我用here文件替換了'file_get_contents()'。也可以嘗試echo或printf而不是var_dump。你可能已經安裝了一些擴展了'var_dump'的行爲('xdebug',我想) –