1

我有这个 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');

但它什么也没显示,我无法弄清楚出了什么问题..请有人帮助我。

最好的祝福。

4

2 回答 2

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
于 2012-12-18T10:07:42.980 回答
2

也许您的 td 元素实际上在命名空间中?某处是否有 xmlns="...." 声明?

于 2012-12-18T11:39:21.617 回答