array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'it', ), 'this' => array ( 0 => 'domxpath.evaluate.php', 1 => 'DOMXPath::evaluate', 2 => 'Evaluates the given XPath expression and returns a typed result if possible', ), 'up' => array ( 0 => 'class.domxpath.php', 1 => 'DOMXPath', ), 'prev' => array ( 0 => 'domxpath.construct.php', 1 => 'DOMXPath::__construct', ), 'next' => array ( 0 => 'domxpath.query.php', 1 => 'DOMXPath::query', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/dom/domxpath/evaluate.xml', ), 'history' => array ( ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); contributors($setup); ?>

DOMXPath::evaluate

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

DOMXPath::evaluate Evaluates the given XPath expression and returns a typed result if possible

Descrizione

public DOMXPath::evaluate(string $expression, ?DOMNode $contextNode = null, bool $registerNodeNS = true): mixed

Executes the given XPath expression and returns a typed result if possible.

Elenco dei parametri

expression

The XPath expression to execute.

contextNode

The optional contextNode can be specified for doing relative XPath queries. By default, the queries are relative to the root element.

registerNodeNS

Whether to automatically register the in-scope namespace prefixes of the context node to the DOMXPath object. This can be used to avoid needing to call DOMXPath::registerNamespace() manually for each in-scope namespaces. When a namespace prefix conflict exists, only the nearest descendant namespace prefix is registered.

Errori/Eccezioni

The following errors are possible when using an expression that invokes PHP callbacks.

Valori restituiti

Returns a typed result if possible or a DOMNodeList containing all nodes matching the given XPath expression.

If the expression is malformed or the contextNode is invalid, DOMXPath::evaluate() returns false.

Esempi

Example #1 Getting the count of all the english books

<?php

$doc
= new DOMDocument;

$doc->load('examples/book-dcobook.xml');

$xpath = new DOMXPath($doc);

$tbody = $doc->getElementsByTagName('tbody')->item(0);

// our query is relative to the tbody node
$query = 'count(row/entry[. = "en"])';

$entries = $xpath->evaluate($query, $tbody);
echo
"There are $entries english books\n";

?>

Il precedente esempio visualizzerĂ :

There are 2 english books

Vedere anche: