gpt4 book ai didi

php - 在给定元素下按 XPath 搜索

转载 作者:IT王子 更新时间:2023-10-29 00:03:02 24 4
gpt4 key购买 nike

我知道在 PHP 中对 DOM 执行 XPath 查询的唯一方法是 DOMXPath ,它只适用于 DOMDocument:

public __construct ( DOMDocument $doc )

相对于 DOMElement 是否有类似的搜索机制?

问题是,我需要搜索相对于 DOMElement 的任意 XPath(我无法控制)。

我试过:

$domElement->getNodePath() . '/' . $xPath;

但是如果 XPath 包含一个|(字符),这种方法就不起作用了。

最佳答案

是的。该元素也是文档的一部分,因此您使用文档的 xpath 对象,但是当您运行查询时,有第二个参数,它是第一个参数中的查询解析到的上下文节点 到:

// query all child-nodes of $domElement
$result = $xpath->query('./*', $domElement);

Resolved 意味着,如果 xpath 是:

  1. 相对的,它相对于 $domElement 上下文节点。
  2. 绝对,它解析为文档节点(仍然/再次)。

只有 relative 路径适用于这里的上下文,这就是为什么我在它前面加了一个点前缀:./*。一个简单的 * 也可以,只是不会让它特别可见。

参见 DOMXpath::query() .

关于php - 在给定元素下按 XPath 搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16364662/

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