bug69846.phpt 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. --TEST--
  2. Bug #69846 Segmenation fault (access violation) when iterating over DOMNodeList
  3. --EXTENSIONS--
  4. dom
  5. --FILE--
  6. <?php
  7. $tmpDomDocument = new DOMDocument();
  8. $xml = '<?xml version="1.0" encoding="UTF-8"?><dummy xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/"><xfa:data>
  9. <form1>
  10. <TextField1>Value A</TextField1>
  11. <TextField1>Value B</TextField1>
  12. <TextField1>Value C</TextField1>
  13. </form1>
  14. </xfa:data></dummy>';
  15. $tmpDomDocument->loadXML($xml);
  16. $dataNodes = $tmpDomDocument->firstChild->childNodes->item(0)->childNodes;
  17. var_dump($dataNodes->length);
  18. $datasetDom = new DOMDocument();
  19. foreach ($dataNodes AS $node) {
  20. $node = $datasetDom->importNode($node, true);
  21. var_dump($node);
  22. }
  23. ?>
  24. --EXPECTF--
  25. int(3)
  26. object(DOMText)#%d (21) {
  27. ["wholeText"]=>
  28. string(3) "
  29. "
  30. ["data"]=>
  31. string(3) "
  32. "
  33. ["length"]=>
  34. int(3)
  35. ["previousElementSibling"]=>
  36. NULL
  37. ["nextElementSibling"]=>
  38. NULL
  39. ["nodeName"]=>
  40. string(5) "#text"
  41. ["nodeValue"]=>
  42. string(3) "
  43. "
  44. ["nodeType"]=>
  45. int(3)
  46. ["parentNode"]=>
  47. NULL
  48. ["childNodes"]=>
  49. string(22) "(object value omitted)"
  50. ["firstChild"]=>
  51. NULL
  52. ["lastChild"]=>
  53. NULL
  54. ["previousSibling"]=>
  55. NULL
  56. ["nextSibling"]=>
  57. NULL
  58. ["attributes"]=>
  59. NULL
  60. ["ownerDocument"]=>
  61. string(22) "(object value omitted)"
  62. ["namespaceURI"]=>
  63. NULL
  64. ["prefix"]=>
  65. string(0) ""
  66. ["localName"]=>
  67. NULL
  68. ["baseURI"]=>
  69. NULL
  70. ["textContent"]=>
  71. string(3) "
  72. "
  73. }
  74. object(DOMElement)#7 (23) {
  75. ["schemaTypeInfo"]=>
  76. NULL
  77. ["tagName"]=>
  78. string(5) "form1"
  79. ["firstElementChild"]=>
  80. string(22) "(object value omitted)"
  81. ["lastElementChild"]=>
  82. string(22) "(object value omitted)"
  83. ["childElementCount"]=>
  84. int(3)
  85. ["previousElementSibling"]=>
  86. NULL
  87. ["nextElementSibling"]=>
  88. NULL
  89. ["nodeName"]=>
  90. string(5) "form1"
  91. ["nodeValue"]=>
  92. string(39) "
  93. Value A
  94. Value B
  95. Value C
  96. "
  97. ["nodeType"]=>
  98. int(1)
  99. ["parentNode"]=>
  100. NULL
  101. ["childNodes"]=>
  102. string(22) "(object value omitted)"
  103. ["firstChild"]=>
  104. string(22) "(object value omitted)"
  105. ["lastChild"]=>
  106. string(22) "(object value omitted)"
  107. ["previousSibling"]=>
  108. NULL
  109. ["nextSibling"]=>
  110. NULL
  111. ["attributes"]=>
  112. string(22) "(object value omitted)"
  113. ["ownerDocument"]=>
  114. string(22) "(object value omitted)"
  115. ["namespaceURI"]=>
  116. NULL
  117. ["prefix"]=>
  118. string(0) ""
  119. ["localName"]=>
  120. string(5) "form1"
  121. ["baseURI"]=>
  122. NULL
  123. ["textContent"]=>
  124. string(39) "
  125. Value A
  126. Value B
  127. Value C
  128. "
  129. }
  130. object(DOMText)#%d (21) {
  131. ["wholeText"]=>
  132. string(1) "
  133. "
  134. ["data"]=>
  135. string(1) "
  136. "
  137. ["length"]=>
  138. int(1)
  139. ["previousElementSibling"]=>
  140. NULL
  141. ["nextElementSibling"]=>
  142. NULL
  143. ["nodeName"]=>
  144. string(5) "#text"
  145. ["nodeValue"]=>
  146. string(1) "
  147. "
  148. ["nodeType"]=>
  149. int(3)
  150. ["parentNode"]=>
  151. NULL
  152. ["childNodes"]=>
  153. string(22) "(object value omitted)"
  154. ["firstChild"]=>
  155. NULL
  156. ["lastChild"]=>
  157. NULL
  158. ["previousSibling"]=>
  159. NULL
  160. ["nextSibling"]=>
  161. NULL
  162. ["attributes"]=>
  163. NULL
  164. ["ownerDocument"]=>
  165. string(22) "(object value omitted)"
  166. ["namespaceURI"]=>
  167. NULL
  168. ["prefix"]=>
  169. string(0) ""
  170. ["localName"]=>
  171. NULL
  172. ["baseURI"]=>
  173. NULL
  174. ["textContent"]=>
  175. string(1) "
  176. "
  177. }