XPath查询返回空值

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.

doujie9252
doujie9252 现在不要攻击可怜的白色空间
接近 8 年之前 回复
dppb79372
dppb79372 原谅拼写错误的单词..谢谢你的编辑
接近 8 年之前 回复
doulvyi2172
doulvyi2172 只返回黑色值???
接近 8 年之前 回复
du997562
du997562 什么种族貌相?
接近 8 年之前 回复
douduandiao1368
douduandiao1368 我正要编辑它...:-)
接近 8 年之前 回复
duanjue6584
duanjue6584 这就是他们所谓的种族貌相吗?
接近 8 年之前 回复

2个回答

You XPath query works fine for me.

<?php
echo phpversion(), "
";
$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, "
";
}

output:

5.4.7
class: cal_imp_high



也许你的td元素实际上在命名空间中? 某处有xmlns =“....”声明吗? </ p>
</ div>

展开原文

原文

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

dongshengyin0147
dongshengyin0147 搜索“XPath默认命名空间”,您将找到该问题的一百万个答案。
接近 8 年之前 回复
dongtangu6889
dongtangu6889 是的,我只是在废弃一个网站。 有没有解决方案,如果命名空间是我的问题吗?
接近 8 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐