PHP生成SimpleXMLElement Object文件怎么用循环显示出来,请看案例
SimpleXMLElement Object
(
[user] => SimpleXMLElement Object
(
[alipay_account] => 186165713811
[alipay_bind] => bind1
[alipay_no] => 208860222631333101561
[buyer_credit] => SimpleXMLElement Object
(
[good_num] => 0
[level] => 0
[score] => 0
[total_num] => 0
)
[consumer_protection] => false
[created] => 2011-06-01 15:46:55
[email] => SimpleXMLElement Object
(
)
[last_visit] => 2011-06-15 15:38:34
[location] => SimpleXMLElement Object
(
)
[nick] => 商城
[seller_credit] => SimpleXMLElement Object
(
[good_num] => 0
[level] => 0
[score] => 0
[total_num] => 0
)
[status] => normal
[type] => C
[uid] => a2133f8fea55225a81f2b843f609d9ec1
[user_id] => 7144516691
)
)
上面是哪里,我该如何用循环显示出对应的字段值啊?
(
[user] => SimpleXMLElement Object
(
[alipay_account] => 186165713811
[alipay_bind] => bind1
[alipay_no] => 208860222631333101561
[buyer_credit] => SimpleXMLElement Object
(
[good_num] => 0
[level] => 0
[score] => 0
[total_num] => 0
)
[consumer_protection] => false
[created] => 2011-06-01 15:46:55
[email] => SimpleXMLElement Object
(
)
[last_visit] => 2011-06-15 15:38:34
[location] => SimpleXMLElement Object
(
)
[nick] => 商城
[seller_credit] => SimpleXMLElement Object
(
[good_num] => 0
[level] => 0
[score] => 0
[total_num] => 0
)
[status] => normal
[type] => C
[uid] => a2133f8fea55225a81f2b843f609d9ec1
[user_id] => 7144516691
)
)
上面是哪里,我该如何用循环显示出对应的字段值啊?
作者: nixiang2012 发布时间: 2011-06-15
在PHP中可以用simplexml_load_file或者simplexml_load_string 方便地进行XML的分析,载入用print_r输出,可以看到输出了一个SimpleXMLElement Object数组,但是如果此时想把这个项赋值给一个变量或存入数据库,你会发现无法正常使用,为什么呢?原因就是他是一个SimpleXMLElement Object,并不是一个标准的普通的数组项。此时如何才能简化使用呢。
$fileName = ‘t5.xml’;
$xml = simplexml_load_file($fileName);
$xml = (array)$xml;
print_r($xml);
//输出的结果为:
Array
(
[msg_code] => 3
[msg] => 服务器端还有数据文件需要下载,请继续调用本接口下载数据文件
[fileInfos] => SimpleXMLElement Object
(
[hashAlgorithm] => 0
[compressionFormat] => 0
[encryptAlgorithm] => 1
)
)
对比一下,上面的代码仅添加了一行 $xml = (array)$xml;
此时输出的内容中,第7行,已经由SimpleXMLElement Object 变为 Array 了。
其实就这么简单,只需要在需要调用的时候前用(array)转化为常规数组即可正常调用。
$fileName = ‘t5.xml’;
$xml = simplexml_load_file($fileName);
$xml = (array)$xml;
print_r($xml);
//输出的结果为:
Array
(
[msg_code] => 3
[msg] => 服务器端还有数据文件需要下载,请继续调用本接口下载数据文件
[fileInfos] => SimpleXMLElement Object
(
[hashAlgorithm] => 0
[compressionFormat] => 0
[encryptAlgorithm] => 1
)
)
对比一下,上面的代码仅添加了一行 $xml = (array)$xml;
此时输出的内容中,第7行,已经由SimpleXMLElement Object 变为 Array 了。
其实就这么简单,只需要在需要调用的时候前用(array)转化为常规数组即可正常调用。
作者: sibang 发布时间: 2011-06-15
我估计你是打印出来的一个变量数组,我昨天遇到一个json的对象,不知道跟你这个一不一样,
我当时也是echo $json['字段'],发现不可以,但是echo $json->字段,就OK了。
我当时也是echo $json['字段'],发现不可以,但是echo $json->字段,就OK了。
作者: by53008749 发布时间: 2011-06-15