028.phpt 655 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. --TEST--
  2. SimpleXML: Adding an elements without text
  3. --EXTENSIONS--
  4. simplexml
  5. --FILE--
  6. <?php
  7. $xml =<<<EOF
  8. <people></people>
  9. EOF;
  10. function traverse_xml($xml, $pad = '')
  11. {
  12. $name = $xml->getName();
  13. echo "$pad<$name";
  14. foreach($xml->attributes() as $attr => $value)
  15. {
  16. echo " $attr=\"$value\"";
  17. }
  18. echo ">" . trim($xml) . "\n";
  19. foreach($xml->children() as $node)
  20. {
  21. traverse_xml($node, $pad.' ');
  22. }
  23. echo $pad."</$name>\n";
  24. }
  25. $people = simplexml_load_string($xml);
  26. traverse_xml($people);
  27. $people->person['name'] = 'John';
  28. traverse_xml($people);
  29. ?>
  30. --EXPECT--
  31. <people>
  32. </people>
  33. <people>
  34. <person name="John">
  35. </person>
  36. </people>