SimpleXMLElement->xpath()

(no version information, might be only in CVS)

SimpleXMLElement->xpath() -- Runs XPath query on XML data

Description

class SimpleXMLElement {

array xpath ( string path )

}

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

Parameters

path

An XPath path

Return Values

Always returns an array of SimpleXMLElement objects.

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.