2013-08-07 2 views
0

이 코드 조각을 age 인 모든 div에 대한 값을 구문 분석하는 페이지에서 이제 첫 번째 구문보다 오히려 구문 분석 할 수 있습니까? 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는 반환 한 번 처리합니다.

이 다음 div의 모두를 가져온 다음 ->item(0)를 사용하여 첫 번째를 얻고
$nodelist = $xpath->query('//div[@class="age"]')->item(0); 
print_r($nodelist->nodeValue); 

가 할당 한 변수 $nodelist에 frst 항목입니다. 예를 들어 당신에게 기존의 코드를 사용하여

당신은 $nodelist 모든 결과를 할당의 ->item(0)을 제거하여 변경하고 단지 두 번째 '작업'예처럼 반복 할 수 있습니다

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

내가 그런 일을했다 전에는 아무 것도 얻지 못했습니다. 어쩌면 내가 'div'로 한 일이 잘못된 것일까? – ian

관련 문제