SimpleXMLElement::xpath
PHP Manual
PHP Manual»SimpleXMLElement»SimpleXMLElement::xpath

SimpleXMLElement::xpath

(PHP 5, PHP 7, PHP 8)

SimpleXMLElement::xpath — Ejecuta una consulta XPath sobre datos XML

Descripción

public function SimpleXMLElement::xpath(string $expression): array|null|false

El método xpath busca en el nodo SimpleXML hijos que correspondan al expression XPath.

Parámetros

expression

Una ruta XPath

Valores devueltos

Devuelve un array de objetos SimpleXMLElement en caso de éxito o null o false si ocurre un error.

A partir de PHP 8.5.0, si la expresión XPath devuelve algo distinto de un conjunto de nodos (por ejemplo, un bool o un número), se emite un E_WARNING y se devuelve false en lugar de devolver silenciosamente un array vacío.

Historial de cambios

Versión Descripción
8.5.0 Si la expresión XPath devuelve algo distinto de un conjunto de nodos, ahora se emite un E_WARNING y se devuelve false. Anteriormente, se devolvía silenciosamente un array vacío.

Ejemplos

Ejemplo #1 Xpath

<?php
$string = <<<XML
<a>
 <b>
  <c>text</c>
  <c>stuff</c>
 </b>
 <d>
  <c>code</c>
 </d>
</a>
XML;

$xml = new SimpleXMLElement($string);

/* Se busca <a><b><c> */
$result = $xml->xpath('/a/b/c');

foreach ($result as $node) {
    echo '/a/b/c: ',$node,"\n";
}

/* Las rutas relativas también funcionan... */
$result = $xml->xpath('b/c');

foreach ($result as $node) {
    echo 'b/c: ',$node,"\n";
}
?>

El ejemplo anterior mostrará:

/a/b/c: text
/a/b/c: stuff
b/c: text
b/c: stuff

Observe que los dos resultados son iguales.

Véase también

To Top