Vainglory07
Vainglory07

Reputation: 5273

XPath query returns blank value

I have this HTML snippet:

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

And Iam trying to get the class value of inside div which is cal_imp_high using this XPath query:

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

But it displays nothing and I cannot figure out whats wrong..Please someone help me.

Best Regards.

Upvotes: 1

Views: 256

Answers (2)

Michael Kay
Michael Kay

Reputation: 163322

Perhaps your td element is actually in a namespace? Is there an xmlns="...." declaration somewhere?

Upvotes: 2

VolkerK
VolkerK

Reputation: 96159

You XPath query works fine for me.

<?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";
}

output:

5.4.7
class: cal_imp_high

Upvotes: 3

Related Questions