我在PHP中知道在DOM上执行XPath查询的唯一方法是DOMXPath,只适用于DOMDocument
:
public __construct ( DOMDocument $doc )
是否有相似的机制可以相对于DOMElement
进行搜索?
问题在于,我需要搜索相对于DOMElement
的abritrary XPath(我无法控制)。
我试过:
$domElement->getNodePath() . '/' . $xPath;
但如果XPath包含|
(或字符),则此方法不起作用。
答案 0 :(得分:24)
是的。该元素也是文档的一部分,因此您使用文档的xpath对象,但是当您运行查询时,还有第二个参数,即第一个参数中的查询相对于的上下文节点: / p>
// query all child-nodes of $domElement
$result = $xpath->query('./*', $domElement);