(PHP 5 >= 5.2.0, PHP 7)
Runs XPath query on XML data
public array SimpleXMLElement::xpath ( string $path )
The xpath method searches the SimpleXML node for children matching the XPath path
.
Parameters:
path
An XPath path
Returns:
Returns an array of SimpleXMLElement objects or FALSE
in case of an error.
Examples:
Xpath
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | <?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:
SimpleXMLElement::registerXPathNamespace() -
SimpleXMLElement::getDocNamespaces() -
Please login to continue.