SimpleXMLElement::xpath

(PHP 5, PHP 7)

SimpleXMLElement::xpathRuns XPath query on XML data

Description

public SimpleXMLElement::xpath ( string $path ) : array

The xpath method searches the SimpleXML node for children matching the XPath path.

Parameters

path

An XPath path

Return Values

Returns an array of SimpleXMLElement objects or FALSE in case of an error.

Examples

Example #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);

/* Search for <a><b><c> */
$result $xml->xpath('/a/b/c');

while(list( , 
$node) = each($result)) {
    echo 
'/a/b/c: ',$node,"\n";
}

/* Relative paths also work... */
$result $xml->xpath('b/c');

while(list( , 
$node) = each($result)) {
    echo 
'b/c: ',$node,"\n";
}
?>

The above example will output:

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

Notice that the two results are equal.

See Also