猿问

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

我通过 XPath 在 HTML 文档中获得注释


$xpath = new DOMXPath($doc);


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


foreach ($comments as $comment)

{

    echo $comment->nodeValue.PHP_EOL;

}

如何从中获取此循环中的下一个 HTML 元素$comment?


慕桂英3389331
浏览 170回答 2
2回答

慕村9548890

您可以更改您的 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;}

慕运维8079593

紧随其后的元素$comment是它的下一个兄弟元素。它应该存储在nextSibling属性中:foreach ($comments as $comment){    var_dump($comment->nextSibling);}
随时随地看视频慕课网APP
我要回答