SimpleXML/PHP - 无法访问对象 [英] SimpleXML/PHP - Can't access object
本文介绍了SimpleXML/PHP - 无法访问对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
$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];
即使 var_dump 成功,上面也不会输出任何内容:
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"
}
}
}
}
}
谢谢
推荐答案
这是因为 SimpleXML 需要精确的类型转换,否则你会遇到像这样的荒谬的事情 - var_dump 会输出你想要的东西,echo 不会.你总是需要这样做,还有更糟糕的错误,比如 echo ceil($simplexml->someNumber)
将输出 7
如果数字是例如 7.85
等等.
试试:
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 output 7
if the number is for example 7.85
and so on.
Try instead:
echo (string)$xml->RESPONSE->DATA->HEADER->COLUMN[0];
这篇关于SimpleXML/PHP - 无法访问对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文