Runs XPath query on XML data

SimpleXMLElement::__toString
SimpleXMLIterator
SimpleXMLElement
PHP Manual

# SimpleXMLElement::xpath

(PHP 5 >= 5.2.0)

SimpleXMLElement::xpath — Runs XPath query on XML data

### Description

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

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

- SimpleXMLElement::registerXPathNamespace() - Creates a prefix/ns context for the next XPath query
- SimpleXMLElement::getDocNamespaces() - Returns namespaces declared in document
- SimpleXMLElement::getNamespaces() - Returns namespaces used in document
- Basic SimpleXML usage

SimpleXMLElement::__toString
SimpleXMLIterator
SimpleXMLElement
PHP Manual