007.phpt 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. --TEST--
  2. SimpleXML: Attributes
  3. --SKIPIF--
  4. <?php if (!extension_loaded("simplexml")) print "skip"; ?>
  5. --FILE--
  6. <?php
  7. $xml =<<<EOF
  8. <?xml version='1.0'?>
  9. <!DOCTYPE sxe SYSTEM "notfound.dtd">
  10. <sxe id="elem1">
  11. <elem1 attr1='first'>
  12. <!-- comment -->
  13. <elem2>
  14. <elem3>
  15. <elem4>
  16. <?test processing instruction ?>
  17. </elem4>
  18. </elem3>
  19. </elem2>
  20. </elem1>
  21. </sxe>
  22. EOF;
  23. $sxe = simplexml_load_string($xml);
  24. echo "===Property===\n";
  25. var_dump($sxe->elem1);
  26. echo "===Array===\n";
  27. var_dump($sxe['id']);
  28. var_dump($sxe->elem1['attr1']);
  29. echo "===Set===\n";
  30. $sxe['id'] = "Changed1";
  31. var_dump($sxe['id']);
  32. $sxe->elem1['attr1'] = 12;
  33. var_dump($sxe->elem1['attr1']);
  34. echo "===Unset===\n";
  35. unset($sxe['id']);
  36. var_dump($sxe['id']);
  37. unset($sxe->elem1['attr1']);
  38. var_dump($sxe->elem1['attr1']);
  39. echo "===Misc.===\n";
  40. $a = 4;
  41. var_dump($a);
  42. $dummy = $sxe->elem1[$a];
  43. var_dump($a);
  44. ?>
  45. ===Done===
  46. --EXPECTF--
  47. ===Property===
  48. object(SimpleXMLElement)#%d (3) {
  49. ["@attributes"]=>
  50. array(1) {
  51. ["attr1"]=>
  52. string(5) "first"
  53. }
  54. ["comment"]=>
  55. object(SimpleXMLElement)#%d (0) {
  56. }
  57. ["elem2"]=>
  58. object(SimpleXMLElement)#%d (1) {
  59. ["elem3"]=>
  60. object(SimpleXMLElement)#%d (1) {
  61. ["elem4"]=>
  62. object(SimpleXMLElement)#%d (1) {
  63. ["test"]=>
  64. object(SimpleXMLElement)#%d (0) {
  65. }
  66. }
  67. }
  68. }
  69. }
  70. ===Array===
  71. object(SimpleXMLElement)#%d (1) {
  72. [0]=>
  73. string(5) "elem1"
  74. }
  75. object(SimpleXMLElement)#%d (1) {
  76. [0]=>
  77. string(5) "first"
  78. }
  79. ===Set===
  80. object(SimpleXMLElement)#%d (1) {
  81. [0]=>
  82. string(8) "Changed1"
  83. }
  84. object(SimpleXMLElement)#%d (1) {
  85. [0]=>
  86. string(2) "12"
  87. }
  88. ===Unset===
  89. NULL
  90. NULL
  91. ===Misc.===
  92. int(4)
  93. int(4)
  94. ===Done===