<?php
$xml = <<< EOT
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<userlist>
<users>
<user>
<id>2</id>
<name>Bob</name>
</user>
<user>
<id>1</id>
<name>David</name>
</user>
</users>
</userlist>
EOT;
$x_obj = simplexml_load_string($xml);
// Example 1
$ex1 = $x_obj->xpath('//user');
function cmp($a, $b)
{
if ( $a->id > $b->id) return -1;
if ( $a->id < $b->id) return 1;
return 0;
}
usort($ex1, cmp);
var_dump($ex1);
// Example 2
$ex2 = $x_obj->xpath('//user[id=2]');
var_dump($ex2);