为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 XPath 注释后获取下一个 HTML 元素?

如何在 XPath 注释后获取下一个 HTML 元素?

PHP
慕桂英3389331 2022-07-16 17:22:05
我通过 XPath 在 HTML 文档中获得注释$xpath = new DOMXPath($doc);$comments = $xpath->query('//comment()');foreach ($comments as $comment){    echo $comment->nodeValue.PHP_EOL;}如何从中获取此循环中的下一个 HTML 元素$comment?
查看完整描述

2 回答

?
慕村9548890

TA贡献1884条经验 获得超4个赞

您可以更改您的 XPath 表达式以使用following-sibling轴,并说在评论后拿起第一个节点......


$comments = $xpath->query('//comment()/following-sibling::*[1]');

如果您需要评论和下一个节点,您可以先获取评论,然后使用相对于该评论的 XPath 来获取以下节点...


$comments = $xpath->query('//comment()');

foreach ($comments as $comment)

{

    echo $comment->nodeValue.PHP_EOL;

    $next = $xpath->query("following-sibling::*[1]", $comment)[0];

    echo $next->nodeValue.PHP_EOL;

}


查看完整回答
反对 回复 2022-07-16
?
慕运维8079593

TA贡献1876条经验 获得超5个赞

紧随其后的元素$comment是它的下一个兄弟元素。它应该存储在nextSibling属性中:


foreach ($comments as $comment)

{

    var_dump($comment->nextSibling);

}


查看完整回答
反对 回复 2022-07-16
  • 2 回答
  • 0 关注
  • 169 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信