2012-07-27 116 views
2

我想如果我打印出$rt的含量比progrighthead類從HTML如何使用xpath獲取元素?

$xdata = simplexml_import_dom($doc); 
$datas = $xdata->xpath("//*[@class='proglist']"); 
$aData = array(); 
foreach($datas as $data) 
{ 

    $rightdatas = $data->xpath("*[@class='progright']"); 
    $rt = $rightdatas[0]; 
    print_r($rt); 
    $content = $rt->xpath("*[@class='progrighthead']"); 
    print_r($content ); 
} 

得到一些數據是存在的,但$content變量是空的。爲什麼?

爲什麼我會收到以下語法的相同結果?

$xdata = simplexml_import_dom($doc); 
$datas = $xdata->xpath("//*[@class='proglist']"); 
$aData = array(); 
foreach($datas as $data) 
{ 

    $rightdatas = $data->xpath("*[@class='progright']"); 
    $rt = $rightdatas[0]; 
    print_r($rt); 
    $content = $rt->xpath("*[@class='progrighthead']"); 
}  

$datas = $xdata->xpath("//*[@class='progrighthead']"); 
+3

請問您可以包含加載的文件嗎? – meiamsome 2012-07-27 13:08:06

回答

2

progrighthead不是progright的一個孩子,但後裔。使用

$rt->xpath(".//*[@class='progrighthead']"); 

//放在開頭意味着從根開始搜索,而不是從當前元素開始搜索。