<?php
$string = <<<XML
<a>
<b>
<c>texto</c>
<c>cosas</c>
</b>
<d>
<c>código</c>
</d>
</a>
XML;
$xml = new SimpleXMLElement($string);
/* Busca <a><b><c> */
$resultado = $xml->xpath('/a/b/c');
while(list( , $nodo) = each($resultado)) {
echo '/a/b/c: ',$nodo,"\n";
}
/* Rutas relativas también funcionan... */
$resultado = $xml->xpath('b/c');
while(list( , $nodo) = each($resultado)) {
echo 'b/c: ',$nodo,"\n";
}
?>
El resultado del ejemplo sería:
/a/b/c: texto
/a/b/c: cosas
b/c: texto
b/c: cosas
Notar que los dos resultados son iguales.