- simplexml_load_string: documentation ( source)
- sprintf: documentation ( source)
<?php
$xml = <<<ENDBLOCK
<block>
<node>
<key1>value1</key1>
<key2>value2</key2>
<key3>value3</key3>
</node>
</block>
ENDBLOCK;
$sxml = simplexml_load_string($xml);
foreach($sxml->children() as $key => $val) {
sprintf("%s => %s %s empty\n", (string)$key, (string)$val, (empty($val) ? ' evaluates as' : ' is not'));
}