我有这个HTML代码段:
<td class="alt1 icon smallfont" align="center">
<div class="cal_imp_high" title="High Impact Expected"/>
</td>
我试图使用此XPath查询获取内部div的类值 cal_imp_high :
$xpath->query('//td[@class="alt1 icon smallfont"]/div[@class]/@class');
但它没有显示任何内容,我无法弄清楚什么是错的......请有人帮助我。
最诚挚的问候。
答案 0 :(得分: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
答案 1 :(得分:2)
也许你的td元素实际上在命名空间中?某处有xmlns =“....”声明吗?