2016-05-19 20 views
0

私は次のコードをjsonを使って場所の詳細を見つけて正常に動作するphpで書いています。xml相当のjson_decode関数

<?php 
function search_place_details($location) 
{ 

    $locationclean = str_replace (" ", "+", $location); 
    $details_url = "https://maps.googleapis.com/maps/api/place/textsearch/json?query=" . $locationclean . "&key=MY-GOOGLE-API-KEY"; 
    $du = file_get_contents($details_url); 

    $getDetails = json_decode(utf8_encode($du),true); 
    if ($getDetails['status']=="OK") 
    { 
    $a = $getDetails['results'][0]['types']; 
    echo implode(" ",$a)."<br>"; 
    } 
    else 
    { 
    echo "Place details not found"; 
    } 
} 
search_place_details("kfc"); 
?> 

が、私はxml.MyのXMLコードを利用して同じことをやりたいが、両方が同じ結果を与える。この

<?php 
function search_place_details($location) 
{ 
$locationclean = str_replace (" ", "+", $location); 
$data = "https://maps.googleapis.com/maps/api/place/textsearch/xml?query=" . $locationclean . "&key=MY-GOOGLE-API-KEY"; 
$xml = file_get_contents($data); 
$xml = simplexml_load_string($xml); 

foreach($xml->result->type as $key => $value) 
{ 
$location_details = $value; 
echo $location_details; 
echo "<br>"; 
} 
} 
search_place_details("kfc"); 
?> 

のように見えますが、私はエラーメッセージを表示するために私のXMLコードを作りたいです場所の詳細が見つからない場合 提案あなたは次のオプションを検討することもでき

答えて

0

:XMLから

オプション1エキスステータスコードは、JSONに

$xml = simplexml_load_string($xml); 
$statusCode = (string)$xml->status; 
if($statusCode != "OK") 
    throw new Exception('Invalid request'); 

オプション2変換XMLを結果とステータスコード

$json = json_encode($xml); 
$result = json_decode($json,TRUE); 
$statusCode = $result['status']; 
if($statusCode != "OK") 
    throw new Exception('Invalid request'); 
+1

を確認するには、あなたに感謝しますそれは絶対にうまくいった。 。 – aries12

関連する問題