使用PHP DOMXpath遍历子节点?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了使用PHP DOMXpath遍历子节点?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我在理解childNodes中存储的内容时遇到了一些麻烦.理想情况下,我想在每个子节点上做另一个xquery,但似乎无法直截了当.这是我的情景:
数据:
<div class="something">
    <h3>
        <a href="link1.htML">Link text 1</a>
    </h3>
    <div class"somethingelse">Something else text 1</div>
</div>
<div class="something">
    <h3>
        <a href="link2.html">Link text 2</a>
    </h3>
    <div class"somethingelse">Something else text 2</div>
</div>
<div class="something">
    <h3>
        <a href="link3.html">Link text 3</a>
    </h3>
    <div class"somethingelse">Something else text 3</div>
</div>

代码

$html = new DOMDocument();
$html->loadhtmlFile($local_file);
$xpath = new DOMXPath( $html );
$nodelist = $xpath->query( "//div[@class='something']");
foreach ($nodelist as $n) {
    Can I run another query here? }

对于“某事物”的每个元素(即$n),我想要访问两段文本和href的值.我尝试使用childNode和另一个xquery,但无法获得任何工作.任何帮助将不胜感激!

是的,您可以运行另一个xpath查询,类似于:
foreach ($nodelist as $n)
{
    $other_nodes = $xpath->query('div[@class="somethingelse"]',$n);

    echo $other_nodes->length;
}

这将使用somethingelse类获取内部div,$xpath->查询方法的第二个参数告诉查询将此节点作为上下文,请参阅更多http://fr2.php.net/manual/en/domxpath.query.php

脚本宝典总结

以上是脚本宝典为你收集整理的使用PHP DOMXpath遍历子节点?全部内容,希望文章能够帮你解决使用PHP DOMXpath遍历子节点?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。