webservice服务器,他们用.net写了个接口 http://xxx.xxx.xxx.xx/info.asmx?wsdl
我用php调用这个接口
try{ $wsdl = http://xxx.xxx.xxx.xx/info.asmx?wsdl; $client = new soapclient($wsdl); $param = array('strname'=>'吴小明', 'stridcard'=>'4528xxxxxxxx', 'decziparea'=>'450900'); $res = $client->getbasicinfo($param); print_r($res);}catch(soapfault $e){ var_dump($e);}
得到如下结果:
stdclass object( [getbasicinforesult] => stdclass object ( [any] => 4507………… 4507………… 吴…… 男性 4528………… 1966-03-10t00:00:00+08:00 道路………… 2011-05-23t00:00:00+08:00 2011-05-23t00:00:00+08:00 2017-05-22t00:00:00+08:00 钦州市………… aaa级 c1证 ))
[any] => 后面不像是个标准的xml。请问,用php怎么拿出这些值呢?
回复讨论(解决方案) 您给出的数据缺少根节点,自己补上吧
数据分为两部分,第一部分是数据类型声明,第二部分是数据
我们关心的是第二部分
用 simplexmlelement 可得 simplexmlelement object( [documentelement] => simplexmlelement object ( [employee] => simplexmlelement object ( [id_ecert] => 4507………… [ecertid] => 4507………… [name] => 吴…… [sex] => 男性 [idcard] => 4528………… [birthday] => 1966-03-10t00:00:00+08:00 [ecertarea] => 道路………… [firstdate] => 2011-05-23t00:00:00+08:00 [begindate] => 2011-05-23t00:00:00+08:00 [enddate] => 2017-05-22t00:00:00+08:00 [grantorgan] => 钦州市………… [creditlevel] => aaa级 [drvlicense] => c1证 ) ))
您给出的数据缺少根节点,自己补上吧
数据分为两部分,第一部分是数据类型声明,第二部分是数据
我们关心的是第二部分
用 simplexmlelement 可得 simplexmlelement object( [documentelement] => simplexmlelement object ( [employee] => simplexmlelement object ( [id_ecert] => 4507………… [ecertid] => 4507………… [name] => 吴…… [sex] => 男性 [idcard] => 4528………… [birthday] => 1966-03-10t00:00:00+08:00 [ecertarea] => 道路………… [firstdate] => 2011-05-23t00:00:00+08:00 [begindate] => 2011-05-23t00:00:00+08:00 [enddate] => 2017-05-22t00:00:00+08:00 [grantorgan] => 钦州市………… [creditlevel] => aaa级 [drvlicense] => c1证 ) ))
没有少哦,接口就是这样返回的
您给出的数据缺少根节点,自己补上吧
数据分为两部分,第一部分是数据类型声明,第二部分是数据
我们关心的是第二部分
用 simplexmlelement 可得 simplexmlelement object( [documentelement] => simplexmlelement object ( [employee] => simplexmlelement object ( [id_ecert] => 4507………… [ecertid] => 4507………… [name] => 吴…… [sex] => 男性 [idcard] => 4528………… [birthday] => 1966-03-10t00:00:00+08:00 [ecertarea] => 道路………… [firstdate] => 2011-05-23t00:00:00+08:00 [grantorgan] => 钦州市………… ) ))
版主,能给个示例吗?
用正则截取 any);$xml = simplexml_load_string($s);print_r($xml);
就可得到我示例的结果
我原以为可以直接拿到数据,原来还是要对字符串进行操作,算了,结帖吧