2012-12-18 2 views
1

내가이 HTML 코드가 반환XPath 쿼리는 빈 값

<td class="alt1 icon smallfont" align="center"> 
    <div class="cal_imp_high" title="High Impact Expected"/> 
</td> 

을 그리고 스피가 내부 DIV의 클래스 값을 얻으려고 노력 이 XPath 쿼리 사용 cal_imp_high :

$xpath->query('//td[@class="alt1 icon smallfont"]/div[@class]/@class'); 

을하지만, 아무것도 표시하지 않고 잘못된 점을 알아낼 수 없습니다. 누군가 나를 도와주세요.

좋습니다.

+1

이것이 인종 프로파일 링이라고 부르는 것입니까? – adeneo

+0

@adeneo 방금 편집하려고했습니다 ... :-) – ManseUK

+0

인종 프로파일 링은 무엇입니까? – Vainglory07

답변

3

XPath 쿼리가 제대로 작동합니다.

<?php 
echo phpversion(), "\n"; 
$doc = new DOMDocument; 
$doc->loadxml(<<< eox 
<td class="alt1 icon smallfont" align="center"> 
    <div class="cal_imp_high" title="High Impact Expected"/> 
</td> 
eox 
); 
$xpath = new DOMXPath($doc); 

foreach($xpath->query('//td[@class="alt1 icon smallfont"]/div[@class]/@class') as $n) { 
    echo 'class: ', $n->nodeValue, "\n"; 
} 

출력 :

5.4.7 
class: cal_imp_high 
2

아마도 당신의 TD 요소는 네임 스페이스에 실제로? xmlns = "...."선언 어딘가에 있습니까?

+0

예, 방금 웹 사이트를 폐기하고 있습니다. 네임 스페이스가 내 문제라면 여기에 해결책이 있습니까? – Vainglory07

+1

"XPath 기본 네임 스페이스"를 검색하면이 질문에 대한 백만 개의 답변을 찾을 수 있습니다. –