2013-08-07 73 views
0

如何使這段代碼片段返回每頁div的值與我在解析的頁面上的類age而不是現在的第一個頁面?我如何從xpath中提取多個div的值

$nodelist = $xpath->query('//div[@class="age"]')->item(0); 
print_r($nodelist->nodeValue); 

我有一些相似的代碼返回所有我想要的圖片,但我似乎無法改變它返回匹配div值我想:

$nodelist = $xpath->query("//div[@class='thumb-wrapper']"); 

foreach ($nodelist as $node) 
{ 
    $tags = $node->getElementsByTagName('img'); 
    $image = $tags->item(0)->getAttribute('src'); 
    echo '<img src="'. $image .'" alt="image" ><br>'; 
} 

回答

0

您需要使用"*"

使用星號()選擇前面的 路徑中的每個元素。所以,如果你想每一個元素是td標籤 內匹配(如P,DIV等),你可以這樣寫:// TD/

0

這段代碼的問題是不XPath一旦它返回,您就可以使用它。

$nodelist = $xpath->query('//div[@class="age"]')->item(0); 
print_r($nodelist->nodeValue); 

這得到所有div S和然後得到使用->item(0)的第一個,然後分配該FRST項到可變$nodelist

使用你現有的代碼作爲一個例子,你可以通過刪除->item(0)修改它,將所有結果$nodelist,並遍歷它們就像第二個「工作」例如:

$nodelist = $xpath->query('//div[@class="age"]'); 
foreach ($nodelist as $node) 
{ 
    // Do something with each div 
} 
+0

我有類似的東西之前卻沒有得到任何東西。也許我對'div'所做的是錯誤的? – ian

相關問題