-1

XML フィードの属性から JSON フィード出力を取得しようとしています。XML からデータを取得できますが、正しくフォーマットすることができません。エラーはjson_encode、出力された日付に中括弧を追加していないようです。これは私がこれまでに持っているコードです:

<?php

    $url = 'http://cloud.tfl.gov.uk/TrackerNet/LineStatus';

    if(!$xml = simplexml_load_file($url))
    {
        die("No xml for you");
    }

    $linestatus = array();

    foreach ($xml->LineStatus as $line)
    {
        echo $line->Line['Name'];
        echo $line->Status['Description'];
    }

    header('Content-Type: application/json');
    print_r(json_encode($linestatus));

?>
4

3 に答える 3

0

配列として宣言し$linestatusているため、最終的にエンコードして出力しようとする前に、配列に何も入れないでください。もちろん、期待どおりには機能しません。代わりに、値を入力する必要があります。

$linestatus = array();

foreach ($xml->LineStatus as $line)
{
    $linestatus[] = $line->Line;
}

header('Content-Type: application/json');
print_r(json_encode($linestatus));
于 2013-10-15T15:49:53.363 に答える
0

問題は、名前と説明を配列に格納していないことです。

これを試して:

foreach ($xml->LineStatus as $line)
{
    $linestatus[] =  array('name' => $line->Line['Name']);
    $linestatus[] =  array('description' => $line->Line['Description']);
}

デモ!

于 2013-10-15T15:49:57.390 に答える