ホームページ  >  記事  >  バックエンド開発  >  PHP で JSON を XML に変換するにはどうすればよいですか?

PHP で JSON を XML に変換するにはどうすればよいですか?

Guanhui
Guanhuiオリジナル
2020-07-23 10:54:322572ブラウズ

PHP で JSON を XML に変換するにはどうすればよいですか?

PHP はどのようにして JSON を XML に変換しますか?

最初に「file_get_content()」関数を使用して JSON データを読み取ります。

$json = file_get_contents('./data.js');

次に、「json_decode()」関数を使用してデータをデコードします。

$data = json_decode($json, true);

次に、データをループして XML 文字列に結合し、最後にファイルに書き込みます。

$string=""; 
foreach($data as $k=>$v){ 
    $string .="<".$k.">"; 
    //取得标签数据 
        $string .=$v; 
    $string .="</".$k.">";  
}

カプセル化の例

<?php
$json = stream_get_contents(STDIN);
$data = @json_decode($json, false);
if (!is_array($data) && !is_object($data)) {
    echo &#39;ERROR: Invalid JSON given&#39; . PHP_EOL;
    exit(1);
}
class Exporter
{
    private $root = &#39;document&#39;;
    private $indentation = &#39;    &#39;;
    // TODO: private $this->addtypes = false; // type="string|int|float|array|null|bool"
    public function export($data)
    {
        $data = array($this->root => $data);
        echo &#39;<?xml version="1.0" encoding="UTF-8">&#39;;
        $this->recurse($data, 0);
        echo PHP_EOL;
    }
    private function recurse($data, $level)
    {
        $indent = str_repeat($this->indentation, $level);
        foreach ($data as $key => $value) {
            echo PHP_EOL . $indent . &#39;<&#39; . $key;
            if ($value === null) {
                echo &#39; />&#39;;
            } else {
                echo &#39;>&#39;;
                if (is_array($value)) {
                    if ($value) {
                        $temporary = $this->getArrayName($key);
                        foreach ($value as $entry) {
                            $this->recurse(array($temporary => $entry), $level + 1);
                        }
                        echo PHP_EOL . $indent;
                    }
                } else if (is_object($value)) {
                    if ($value) {
                        $this->recurse($value, $level + 1);
                        echo PHP_EOL . $indent;
                    }
                } else {
                    if (is_bool($value)) {
                        $value = $value ? &#39;true&#39; : &#39;false&#39;;
                    }
                    echo $this->escape($value);
                }
                echo &#39;</&#39; . $key . &#39;>&#39;;
            }
        }
    }
    private function escape($value)
    {
        // TODO:
        return $value;
    }
    private function getArrayName($parentName)
    {
        // TODO: special namding for tag names within arrays
        return $parentName;
    }}$exporter = new Exporter();$exporter->export($data);

推奨チュートリアル: "PHP"

以上がPHP で JSON を XML に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。