<?php
$s = '<?xml version="1.0" encoding="utf-8" standalone="yes" ?>'.
'<request><body test2="321" test3="987">'.
'<rows><my-row test4="564">'.
'<types>'.
'<custom>this is the example of the text</custom>'.
'<Generic arch="simple">this is the example of the text</Generic>'.
'<bold/><italic/><underlined/>'.
'</types>'.
'</my-row><my-row test5="565"/><test hidden="false" ready="true"/></rows>'.
'</body></request>';
function f($xml){
$s = array();
foreach ($xml as $key => $value) {
$s[$key] = null;
if (count($value->attributes()))
$s[$key]['attributes'] = $value->attributes();
if (is_string($value))
$s[$key]['content'] = $value;
print_r(array(
'key' => $key,
'hasChildren' => (bool)$xml->hasChildren(),
'attributes' => $value->attributes(),
'stack' => $s,
));
if (get_class($value) == 'SimpleXMLIterator') f($value);
}
return $s;
}
f(new SimpleXMLIterator($s));
- Output for 5.1.2 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.38, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.27, 8.2.0 - 8.2.17, 8.3.0 - 8.3.4
- Array
(
[key] => body
[hasChildren] => 1
[attributes] => SimpleXMLIterator Object
(
[@attributes] => Array
(
[test2] => 321
[test3] => 987
)
)
[stack] => Array
(
[body] => Array
(
[attributes] => SimpleXMLIterator Object
(
[@attributes] => Array
(
[test2] => 321
[test3] => 987
)
)
)
)
)
Array
(
[key] => rows
[hasChildren] => 1
[attributes] => SimpleXMLIterator Object
(
)
[stack] => Array
(
[rows] =>
)
)
Array
(
[key] => my-row
[hasChildren] => 1
[attributes] => SimpleXMLIterator Object
(
[@attributes] => Array
(
[test4] => 564
)
)
[stack] => Array
(
[my-row] => Array
(
[attributes] => SimpleXMLIterator Object
(
[@attributes] => Array
(
[test4] => 564
)
)
)
)
)
Array
(
[key] => types
[hasChildren] => 1
[attributes] => SimpleXMLIterator Object
(
)
[stack] => Array
(
[types] =>
)
)
Array
(
[key] => custom
[hasChildren] =>
[attributes] => SimpleXMLIterator Object
(
)
[stack] => Array
(
[custom] =>
)
)
Array
(
[key] => Generic
[hasChildren] =>
[attributes] => SimpleXMLIterator Object
(
[@attributes] => Array
(
[arch] => simple
)
)
[stack] => Array
(
[custom] =>
[Generic] => Array
(
[attributes] => SimpleXMLIterator Object
(
[@attributes] => Array
(
[arch] => simple
)
)
)
)
)
Array
(
[key] => bold
[hasChildren] =>
[attributes] => SimpleXMLIterator Object
(
)
[stack] => Array
(
[custom] =>
[Generic] => Array
(
[attributes] => SimpleXMLIterator Object
(
[@attributes] => Array
(
[arch] => simple
)
)
)
[bold] =>
)
)
Array
(
[key] => italic
[hasChildren] =>
[attributes] => SimpleXMLIterator Object
(
)
[stack] => Array
(
[custom] =>
[Generic] => Array
(
[attributes] => SimpleXMLIterator Object
(
[@attributes] => Array
(
[arch] => simple
)
)
)
[bold] =>
[italic] =>
)
)
Array
(
[key] => underlined
[hasChildren] =>
[attributes] => SimpleXMLIterator Object
(
)
[stack] => Array
(
[custom] =>
[Generic] => Array
(
[attributes] => SimpleXMLIterator Object
(
[@attributes] => Array
(
[arch] => simple
)
)
)
[bold] =>
[italic] =>
[underlined] =>
)
)
Array
(
[key] => my-row
[hasChildren] =>
[attributes] => SimpleXMLIterator Object
(
[@attributes] => Array
(
[test5] => 565
)
)
[stack] => Array
(
[my-row] => Array
(
[attributes] => SimpleXMLIterator Object
(
[@attributes] => Array
(
[test5] => 565
)
)
)
)
)
Array
(
[key] => test
[hasChildren] =>
[attributes] => SimpleXMLIterator Object
(
[@attributes] => Array
(
[hidden] => false
[ready] => true
)
)
[stack] => Array
(
[my-row] => Array
(
[attributes] => SimpleXMLIterator Object
(
[@attributes] => Array
(
[test5] => 565
)
)
)
[test] => Array
(
[attributes] => SimpleXMLIterator Object
(
[@attributes] => Array
(
[hidden] => false
[ready] => true
)
)
)
)
)
- Output for 5.1.0 - 5.1.1
- Array
(
[key] => body
[hasChildren] => 1
[attributes] => SimpleXMLIterator Object
(
)
[stack] => Array
(
[body] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
)
)
Array
(
[key] => rows
[hasChildren] => 1
[attributes] => SimpleXMLIterator Object
(
)
[stack] => Array
(
[rows] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
)
)
Array
(
[key] => my-row
[hasChildren] => 1
[attributes] => SimpleXMLIterator Object
(
)
[stack] => Array
(
[my-row] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
)
)
Array
(
[key] => types
[hasChildren] => 1
[attributes] => SimpleXMLIterator Object
(
)
[stack] => Array
(
[types] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
)
)
Array
(
[key] => custom
[hasChildren] =>
[attributes] => SimpleXMLIterator Object
(
)
[stack] => Array
(
[custom] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
)
)
Array
(
[key] => Generic
[hasChildren] =>
[attributes] => SimpleXMLIterator Object
(
)
[stack] => Array
(
[custom] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
[Generic] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
)
)
Array
(
[key] => bold
[hasChildren] =>
[attributes] => SimpleXMLIterator Object
(
)
[stack] => Array
(
[custom] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
[Generic] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
[bold] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
)
)
Array
(
[key] => italic
[hasChildren] =>
[attributes] => SimpleXMLIterator Object
(
)
[stack] => Array
(
[custom] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
[Generic] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
[bold] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
[italic] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
)
)
Array
(
[key] => underlined
[hasChildren] =>
[attributes] => SimpleXMLIterator Object
(
)
[stack] => Array
(
[custom] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
[Generic] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
[bold] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
[italic] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
[underlined] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
)
)
Array
(
[key] => my-row
[hasChildren] =>
[attributes] => SimpleXMLIterator Object
(
)
[stack] => Array
(
[my-row] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
)
)
Array
(
[key] => test
[hasChildren] =>
[attributes] => SimpleXMLIterator Object
(
)
[stack] => Array
(
[my-row] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
[test] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
)
)
- Output for 5.0.0 - 5.0.5
- Array
(
[key] => body
[hasChildren] => 1
[attributes] => SimpleXMLIterator Object
(
[0] => 321
)
[stack] => Array
(
[body] => Array
(
[attributes] => SimpleXMLIterator Object
(
[0] => 321
)
)
)
)
Array
(
[key] => rows
[hasChildren] => 1
[attributes] => SimpleXMLIterator Object
(
)
[stack] => Array
(
[rows] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
)
)
Array
(
[key] => my-row
[hasChildren] => 1
[attributes] => SimpleXMLIterator Object
(
[0] => 564
)
[stack] => Array
(
[my-row] => Array
(
[attributes] => SimpleXMLIterator Object
(
[0] => 564
)
)
)
)
Array
(
[key] => types
[hasChildren] => 1
[attributes] => SimpleXMLIterator Object
(
)
[stack] => Array
(
[types] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
)
)
Array
(
[key] => custom
[hasChildren] =>
[attributes] => SimpleXMLIterator Object
(
)
[stack] => Array
(
[custom] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
)
)
Array
(
[key] => Generic
[hasChildren] =>
[attributes] => SimpleXMLIterator Object
(
[0] => simple
)
[stack] => Array
(
[custom] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
[Generic] => Array
(
[attributes] => SimpleXMLIterator Object
(
[0] => simple
)
)
)
)
Array
(
[key] => bold
[hasChildren] =>
[attributes] => SimpleXMLIterator Object
(
)
[stack] => Array
(
[custom] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
[Generic] => Array
(
[attributes] => SimpleXMLIterator Object
(
[0] => simple
)
)
[bold] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
)
)
Array
(
[key] => italic
[hasChildren] =>
[attributes] => SimpleXMLIterator Object
(
)
[stack] => Array
(
[custom] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
[Generic] => Array
(
[attributes] => SimpleXMLIterator Object
(
[0] => simple
)
)
[bold] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
[italic] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
)
)
Array
(
[key] => underlined
[hasChildren] =>
[attributes] => SimpleXMLIterator Object
(
)
[stack] => Array
(
[custom] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
[Generic] => Array
(
[attributes] => SimpleXMLIterator Object
(
[0] => simple
)
)
[bold] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
[italic] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
[underlined] => Array
(
[attributes] => SimpleXMLIterator Object
(
)
)
)
)
Array
(
[key] => my-row
[hasChildren] =>
[attributes] => SimpleXMLIterator Object
(
[0] => 565
)
[stack] => Array
(
[my-row] => Array
(
[attributes] => SimpleXMLIterator Object
(
[0] => 565
)
)
)
)
Array
(
[key] => test
[hasChildren] =>
[attributes] => SimpleXMLIterator Object
(
[0] => false
)
[stack] => Array
(
[my-row] => Array
(
[attributes] => SimpleXMLIterator Object
(
[0] => 565
)
)
[test] => Array
(
[attributes] => SimpleXMLIterator Object
(
[0] => false
)
)
)
)
- Output for 4.3.2 - 4.3.11, 4.4.0 - 4.4.9
- Fatal error: Cannot instantiate non-existent class: simplexmliterator in /in/X6V56 on line 33
Process exited with code 255. - Output for 4.3.0 - 4.3.1
- Fatal error: Cannot instantiate non-existent class: simplexmliterator in /in/X6V56 on line 33
preferences:
390.23 ms | 401 KiB | 448 Q