003.phpt 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. --TEST--
  2. SimpleXML: Entities
  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. <!ENTITY included-entity "This is text included from an entity">
  11. ]>
  12. <sxe id="elem1">
  13. Plain text.
  14. <elem1 attr1='first'>
  15. <!-- comment -->
  16. <elem2>
  17. <elem3>
  18. &included-entity;
  19. <elem4>
  20. <?test processing instruction ?>
  21. </elem4>
  22. </elem3>
  23. </elem2>
  24. </elem1>
  25. </sxe>
  26. EOF;
  27. var_dump(simplexml_load_string($xml));
  28. ?>
  29. ===DONE===
  30. --EXPECTF--
  31. object(SimpleXMLElement)#%d (2) {
  32. ["@attributes"]=>
  33. array(1) {
  34. ["id"]=>
  35. string(5) "elem1"
  36. }
  37. ["elem1"]=>
  38. object(SimpleXMLElement)#%d (3) {
  39. ["@attributes"]=>
  40. array(1) {
  41. ["attr1"]=>
  42. string(5) "first"
  43. }
  44. ["comment"]=>
  45. object(SimpleXMLElement)#%d (0) {
  46. }
  47. ["elem2"]=>
  48. object(SimpleXMLElement)#%d (1) {
  49. ["elem3"]=>
  50. object(SimpleXMLElement)#%d (2) {
  51. ["included-entity"]=>
  52. object(SimpleXMLElement)#%d (1) {
  53. ["included-entity"]=>
  54. string(36) "This is text included from an entity"
  55. }
  56. ["elem4"]=>
  57. object(SimpleXMLElement)#%d (1) {
  58. ["test"]=>
  59. object(SimpleXMLElement)#%d (0) {
  60. }
  61. }
  62. }
  63. }
  64. }
  65. }
  66. ===DONE===