gpt4 book ai didi

PHP 获取 DOMNode 的 XPath

转载 作者:可可西里 更新时间:2023-11-01 00:27:36 28 4
gpt4 key购买 nike

我正在动态创建一个 XML 文档。我需要知道我刚刚创建的节点的 XPath。我没有看到像 DOMNode::calculateXPath(void):string 这样的函数我不愿意自己写一个。是否有任何已知的 lite 第 3 方解决方案??

最佳答案

前一段时间有一个类似的问题,为此我发布了一些类似的内容:

function calculateXPath(DOMNode $node)
{
$q = new DOMXPath($node->ownerDocument);
$xpath = '';

do
{
$position = 1 + $q->query('preceding-sibling::*[name()="' . $node->nodeName . '"]', $node)->length;
$xpath = '/' . $node->nodeName . '[' . $position . ']' . $xpath;
$node = $node->parentNode;
}
while (!$node instanceof DOMDocument);

return $xpath;
}

不过,正如 Tomasz 所提到的,它绝对不如使用 id 那样健壮或面向 future 。

关于PHP 获取 DOMNode 的 XPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2643533/

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