在给定元素下通过XPath搜索

时间:2013-05-03 17:36:21

标签: php dom xpath

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

public __construct ( DOMDocument $doc )

是否有相似的机制可以相对于DOMElement进行搜索?

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

我试过:

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

但如果XPath包含|字符),则此方法不起作用。

1 个答案:

答案 0 :(得分:24)

是的。该元素也是文档的一部分,因此您使用文档的xpath对象,但是当您运行查询时,还有第二个参数,即第一个参数中的查询相对于的上下文节点: / p>

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

请参阅DOMXpath::query()