The DOMXPath class

(PHP 5, PHP 7, PHP 8)

Introduction

Allows to use XPath 1.0 queries on HTML or XML documents.

Class synopsis

class DOMXPath {
/* Properties */
public readonly DOMDocument $document;
/* Methods */
public function __construct(DOMDocument $document, bool $registerNodeNS = true)
public function evaluate(string $expression, ?DOMNode $contextNode = null, bool $registerNodeNS = true): mixed
public function query(string $expression, ?DOMNode $contextNode = null, bool $registerNodeNS = true): mixed
public static function quote(string $str): string
public function registerNamespace(string $prefix, string $namespace): bool
public function registerPhpFunctionNS(string $namespaceURI, string $name, callable $callable): void
public function registerPhpFunctions(string|array|null $restrict = null): void
}

Properties

document
The document that is linked to this object.
registerNodeNamespaces
When set to true, namespaces in the node are registered.

Changelog

Version Description
8.4.0 It is no longer possible to clone a DOMXPath object. Doing so will result in an exception being thrown. Prior to PHP 8.4.0 this resulted in an unusable object.
8.0.0 The registerNodeNamespaces property has been added.

Table of Contents