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 に答える