1

オンラインで取得した XML からデータを抽出し、その結果から JSON を作成する必要があります。

これは、私が遭遇した問題の簡略版です。

$XML=simplexml_load_file("http://somewhere.on.the.net/my.xml");
$result = array();

$tmpp = $XML->S->S["time"];
echo $tmpp.'<br/>';;

$result['DATE'] = $tmpp;
echo json_encode($result);

私は得る:

2012-05-29
{"DATE":{"0":"2012-05-29"}}

そして私が欲しい:

{"DATE":"2012-05-29"}

どうすればこれを達成できますか?ありがとう。

アップデート

XML の構造は次のとおりです。

<g:e>
<S>
 <S time="2012-05-29">
   <S info1="a" info2="b"/>
   <S info1="d" info2="m"/>
   <S info1="q" info2="l"/>
   ...
 </S>
 <S time="2011-04-09">
   <S info1="a" info2="z"/>
   ...
   </S>
 </S>
 ...
</S>
</g:e>
4

2 に答える 2

3

XML ノードから文字列値を取得する必要があるようです。

// Cast the value to a string.
$tmpp = (string)$XML->S->S["time"];

echoSimpleXML__toString()はオブジェクトにカスタムを実装しているため、そのままの日付値のように見えvar_dump($XML->S->S["time"])ますが、日付文字列だけではありません。

于 2012-05-29T14:53:23.597 に答える
0

$tmpp 変数の最初のキーを使用してみてください。

$result['DATE'] = $tmpp[0];
于 2012-05-29T14:53:47.030 に答える