2012年6月4日月曜日

XMLをJSONPに変換するPHP

今までYahoo Pipesを使ってAWSのXMLレスポンスをJSONPに変換していましたが、どうもエラーが出たりして使えなくなることが多かったので、自分で変換することにしました。
<?php
    $prm_callback = $_GET['callback'];
    $prm_source = $_GET['source'];
    $prm_format = $_GET['format'];
    if ($prm_format == '') { $prm_format = 'json'; }

    $contents = file_get_contents($prm_source);
    $xml = simplexml_load_string($contents);

    if ($prm_format == 'json') {
        $json = json_encode($xml);
        header("Content-Type: text/javascript; charset=utf-8");
        if ($prm_callback != '') {
            echo "{$prm_callback}($json)";
        } else {
            echo $json;
        }
    } else if ($prm_format == 'xml') {
        echo $xml;
    }
?>

0 件のコメント:

コメントを投稿