如何解决从php中的wcf服务回显xml结果?
| 我有一个WCF操作GetColors,它返回颜色列表作为GetColorsResult。我得到的结果很好,但是如何在PHP中遍历GetColorsResult并回显每个元素? 我在做:<?PHP
header(\'Content-Type: text/plain\');
echo \"WCF Test\\r\\n\\r\\n\";
// Create a new soap client based on the service\'s Metadata (WSDL)
$client = new SoapClient(\'http://localhost:8181/Colors.svc?wsdl\',array(
\'login\' => \"test\",\'password\' => \"test\"));
$retval = $client->GetColors();
//Need to loop throuh $retval here
echo $retval->GetColorsResult; //This throws error.
?>
有没有办法控制结果的名称,例如,我没有指定WCF返回GetColorsResult,而是将Result附加到我的方法调用中。同样,它将响应附加到GetColors的响应(GetColorsResponse)
执行print_r($ retval)时的输出:
stdClass Object
(
[GetColorsResult] => stdClass Object
(
[Color] => Array
(
[0] => stdClass Object
(
[Code] => 1972
[Name] => RED
)
[1] => stdClass Object
(
[Code] => 2003
[Name] => BLUE
)
[2] => stdClass Object
(
[Code] => 2177
[Name] => GREEN
)
)
)
)
解决方法
关于您的print_r,这应该为您提供所有值:
<?php
$colorResult = $retval->GetColorsResult;
foreach($colorResult->Color as $color){
echo $color->Code . \" \" . $color->Name . \"<br />\";
}
?>
这是您需要的吗?
BR
TJ
编辑:
如果仅出于调试目的需要它,则应使用print_r。
在这里看看:print_r PHP文档
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。