gpt4 book ai didi

php - 使用 PHP DOMXpath 遍历子节点?

转载 作者:可可西里 更新时间:2023-11-01 13:08:51 26 4
gpt4 key购买 nike

我在理解子节点中到底存储了什么时遇到了一些问题。理想情况下,我想在每个子节点上执行另一个 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->query 方法的第二个参数告诉查询将此节点作为上下文,查看更多 http://fr2.php.net/manual/en/domxpath.query.php

关于php - 使用 PHP DOMXpath 遍历子节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7896943/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com