$tmp2 = '<?xml version="1.0"?><RWResponse><RESPONSE><DATA><HEADER><COLUMN>interval</COLUMN><COLUMN>name</COLUMN></HEADER></DATA></RESPONSE></RWResponse>';
$xml = simplexml_load_string($tmp2);
echo $xml->RESPONSE->DATA->HEADER->COLUMN[0];
The above won't output anything, even though a var_dump is sucessful:
object(SimpleXMLElement)#2 (1) {
["RESPONSE"]=>
object(SimpleXMLElement)#3 (1) {
["DATA"]=>
object(SimpleXMLElement)#4 (1) {
["HEADER"]=>
object(SimpleXMLElement)#5 (1) {
["COLUMN"]=>
array(2) {
[0]=>
string(8) "interval"
[1]=>
string(13) "creative_name"
}
}
}
}
}
Thanks
You could try to suppress the errors and then iterate over them an check if you can fix them, like explained HERE, because I can't see an error in the example XML.
The XML input is valid, I suppose the problem is with your PHP setup (old or buggy version). This is the output on my machine (PHP 5.3.8):
EDIT after update of question:
This really must be your PHP version, this is the output on my machine again:
would be the real way to do it, so whatever the XML input is, you would take and configure it so that it looks more like that so that it's not a 'string' but it's actually formulated XML information.
This is because SimpleXML requires exact typecasting or you'll get riddiculous things happening like this - var_dump will output what you want, echo won't. You always need to do this, there are even worse bugs, like
echo ceil($simplexml->someNumber)
will output7
if the number is for example7.85
and so on.Try instead: