0

我在 PHP 中创建了一个 SOAP 客户端:

$client = new SoapClient("http://xxxx.net/Service/Service.svc?wsdl");
$response= $client->GetHotelNugget($data); 

但我无法解析响应。我需要<a:TITLE>标签值。

SOAP 客户端的输出:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
      <GetHotelNuggetResponse xmlns="http://tempuri.org/">
         <GetHotelNuggetResult xmlns:a="http://schemas.datacontract.org/2004/07/Model" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
            <a:HotelNugget>
               <a:NUGGETNAME>Yaz Tatili Otelleri</a:NUGGETNAME>
               <a:NUGGETORDER>10</a:NUGGETORDER>
               <a:PARENTUNIQUECODE>AS_SOL_UST</a:PARENTUNIQUECODE>
               <a:REWRITENUGGETNAME>yaz-tatili-otelleri</a:REWRITENUGGETNAME>
               <a:TITLE>Yaz Tatili Otelleri</a:TITLE>
               <a:UNIQUECODE>YTOTL</a:UNIQUECODE>
               <a:WEBNUGGETID>306</a:WEBNUGGETID>
            </a:HotelNugget>
            <a:HotelNugget>
               <a:NUGGETNAME>Ramazan Fırsatları</a:NUGGETNAME>
               <a:NUGGETORDER>20</a:NUGGETORDER>
               <a:PARENTUNIQUECODE>AS_SOL_UST</a:PARENTUNIQUECODE>
               <a:REWRITENUGGETNAME>ramazan-firsatlari</a:REWRITENUGGETNAME>
               <a:TITLE>Ramazan Fırsatları</a:TITLE>
               <a:UNIQUECODE>RFIR</a:UNIQUECODE>
               <a:WEBNUGGETID>308</a:WEBNUGGETID>
            </a:HotelNugget>
            <a:HotelNugget>
               <a:NUGGETNAME>Ramazan Bayramı Otelleri</a:NUGGETNAME>
               <a:NUGGETORDER>30</a:NUGGETORDER>
               <a:PARENTUNIQUECODE>AS_SOL_UST</a:PARENTUNIQUECODE>
               <a:REWRITENUGGETNAME>ramazan-bayrami-otelleri</a:REWRITENUGGETNAME>
               <a:TITLE>Ramazan Bayramı Otelleri</a:TITLE>
               <a:UNIQUECODE>RBO</a:UNIQUECODE>
               <a:WEBNUGGETID>283</a:WEBNUGGETID>
            </a:HotelNugget>       
         </GetHotelNuggetResult>
      </GetHotelNuggetResponse>
   </s:Body>
</s:Envelope>
4

1 回答 1

0

尝试下面的代码并检查print_r

$xmlResp = simplexml_load_string($response);
$jsonResp = json_encode($xmlResp);
$arrResp = json_decode($jsonResp);

foreach($arrResp as $k=>$v) {
    print_r($v);
}

然后,您可以通过以下方式访问 foreach 中的 TITLE 标记

$v['HotelNugget']['TITLE'];

于 2012-08-05T16:12:07.847 回答