(PHP 5, PHP 7, PHP 8)
SimpleXMLElement::xpath — Ejecuta una consulta XPath sobre datos XML
El método xpath busca en el nodo SimpleXML
hijos que correspondan al expression
XPath.
expressionUna ruta XPath
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.
| 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.
|
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.