1

私はこのHTMLスニペットを持っています:

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

そして、次のXPath クエリを使用して、cal_imp_highである内部 div のクラス値を取得しようとしています。

$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 に答える