PHP如何將JSON轉(zhuǎn)換為XML?

發(fā)布時(shí)間:2024-03-22
php如何將json轉(zhuǎn)換為xml?
首先使用“file_get_content()”函數(shù)將json數(shù)據(jù)讀取出來;
$json = file_get_contents('./data.js');然后使用函數(shù)“json_decode()”將數(shù)據(jù)進(jìn)行解碼;
$data = json_decode($json, true);接著循環(huán)數(shù)據(jù)拼接成xml字符串;最后寫入文件中即可。
$string=""; foreach($data as $k=>$v){ $string .="<".$k.">"; //取得標(biāo)簽數(shù)據(jù) $string .=$v; $string .="</".$k.">"; }封裝示例
<?php$json = stream_get_contents(stdin);$data = @json_decode($json, false);if (!is_array($data) && !is_object($data)) { echo 'error: invalid json given' . php_eol; exit(1);}class exporter{ private $root = 'document'; private $indentation = ' '; // todo: private $this->addtypes = false; // type="string|int|float|array|null|bool" public function export($data) { $data = array($this->root => $data); echo '<?xml version="1.0" encoding="utf-8">'; $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 . '<' . $key; if ($value === null) { echo ' />'; } else { echo '>'; 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 ? 'true' : 'false'; } echo $this->escape($value); } echo '</' . $key . '>'; } } } 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》
上一個(gè):晶體管非門電路結(jié)構(gòu)及邏輯符號(hào)
下一個(gè):固態(tài)硬盤最大容量是多少,2242固態(tài)硬盤最大容量

旺詮RTT051822FTP電阻
氨基酸分析前處理中的小幫手
常用的壓縮軟件不包括什么
肥料自動(dòng)包裝機(jī)-肥料自動(dòng)包裝機(jī)-肥料自動(dòng)包裝機(jī)廠家
云服務(wù)器怎么配置
保險(xiǎn)代位求償權(quán)的法律規(guī)定
屬?;榕浣捎心男?屬牛和這些屬相不宜在一起
騰訊企業(yè)郵箱--管理員郵箱設(shè)置?
電梯安裝維修證報(bào)考條件及考試大綱
bieler+lang監(jiān)控器維修
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos