[ create a new paste ] login | about

Link: http://codepad.org/LSo2YX37    [ raw code | output | fork ]

PHP, pasted on Nov 3:
<?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);


Output:
array(2) {
  [0]=>
  object(SimpleXMLElement)#3 (2) {
    ["id"]=>
    string(1) "1"
    ["name"]=>
    string(5) "David"
  }
  [1]=>
  object(SimpleXMLElement)#2 (2) {
    ["id"]=>
    string(1) "2"
    ["name"]=>
    string(3) "Bob"
  }
}
array(1) {
  [0]=>
  object(SimpleXMLElement)#5 (2) {
    ["id"]=>
    string(1) "2"
    ["name"]=>
    string(3) "Bob"
  }
}


Create a new paste based on this one


Comments: