首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使PHP Soap正常工作

无法使PHP Soap正常工作
EN

Stack Overflow用户
提问于 2012-05-10 18:43:34
回答 1查看 1.3K关注 0票数 0

今天我第一次使用Soap。但是我需要把所有的品牌放在一个数组中。Soap以字符串的形式将其返回。

我使用的代码是:

代码语言:javascript
复制
<?php
 $soapClient = new SoapClient("http://getmoxecure.com:5454/ProductService.asmx?wsdl"); 

     $result = $soapClient->getHandsetBrands();
     print_r($result->getHandsetBrandsResult);
     ?>

这样做的结果是:

代码语言:javascript
复制
    stdClass Object
(

        [schema] => <xs:schema xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="NewDataSet"><xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true"><xs:complexType><xs:choice minOccurs="0" maxOccurs="unbounded"><xs:element name="HandsetBrandTable"><xs:complexType><xs:sequence><xs:element name="handset_brand" type="xs:string" minOccurs="0"/></xs:sequence></xs:complexType></xs:element></xs:choice></xs:complexType></xs:element></xs:schema>
        [any] => <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"><NewDataSet xmlns=""><HandsetBrandTable diffgr:id="HandsetBrandTable1" msdata:rowOrder="0"><handset_brand>Android</handset_brand></HandsetBrandTable><HandsetBrandTable diffgr:id="HandsetBrandTable2" msdata:rowOrder="1"><handset_brand>BlackBerry</handset_brand></HandsetBrandTable><HandsetBrandTable diffgr:id="HandsetBrandTable3" msdata:rowOrder="2"><handset_brand>LG</handset_brand></HandsetBrandTable><HandsetBrandTable diffgr:id="HandsetBrandTable4" msdata:rowOrder="3"><handset_brand>Nokia</handset_brand></HandsetBrandTable><HandsetBrandTable diffgr:id="HandsetBrandTable5" msdata:rowOrder="4"><handset_brand>Samsung</handset_brand></HandsetBrandTable><HandsetBrandTable diffgr:id="HandsetBrandTable6" msdata:rowOrder="5"><handset_brand>Sony Ericsson</handset_brand></HandsetBrandTable></NewDataSet></diffgr:diffgram>
    )

我想在Any字符串中获得所有的Brand。有人知道怎么弄到这个吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-10 20:03:08

将对象加载到simplexml中

代码语言:javascript
复制
$xml = simplexml_load_string($result->getHandsetBrandsResult->any);

保存到数组中:

代码语言:javascript
复制
$hansets = array();
foreach ($xml->NewDataSet->HandsetBrandTable as $handset) $handsets[] = $handset->handset_brand;

print_r($handsets);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10532345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档