web-dev-qa-db-ja.com

PHP JSONまたはArray to XML

JSONまたはArrayオブジェクトを取得してXMLに変換する最も簡単な方法は何ですか。多分私はすべての間違った場所を探していますが、私はそれを軌道に乗せるための適切な答えを見つけていません。これはどういうわけか私自身を構築する必要があるでしょうか?または、配列またはjsonオブジェクトを受け取り、それをxmlオブジェクトとしてポップするjson_encode/json_decodeのようなものはありますか?

14
chris

ここで確認してください: 配列をSimpleXMLに変換する方法

および this ドキュメントも役立つはずです

Json to Arrayについては、 json_decode を使用して同じことを行うことができます!

12
linuxeasy

以下は、JSONからXMLへの変換の変形です。 json_decode()関数を使用してJSONから配列を取得します。

$array = json_decode ($someJsonString, true);

次に、arrayToXml()関数を使用して配列をXMLに変換します。

$xml = new SimpleXMLElement('<root/>');
$this->arrayToXml($array, $xml);

これが私のarrayToXml()関数です:

/**
 * Convert an array to XML
 * @param array $array
 * @param SimpleXMLElement $xml
 */
function arrayToXml($array, &$xml){
    foreach ($array as $key => $value) {
        if(is_array($value)){
            if(is_int($key)){
                $key = "e";
            }
            $label = $xml->addChild($key);
            $this->arrayToXml($value, $label);
        }
        else {
            $xml->addChild($key, $value);
        }
    }
}
6
Michael Yurin

最も簡単な方法はわかりません。どちらも私が見る限り比較的単純です。

array to xml- 配列をSimpleXMLに変換する方法 およびjson to xmlはgoogleで見つけることができるので、好みの問題だと思います。

4
Pankucins