php xml与json间的相互转换例子
XML変換
xml转成json与json转成xml都是非常的简单了,但小编在网上找了N久没有找到,下面给各位整理一篇php xml与json间的相互转换例子,有兴趣的可进入看看.
今天在网上想找个将xml转成json的方法,找了半天没找到,找到了,根本没有什么用,有一个service_JSON说的挺像真的,找开后就一个JSON.php,php5.0以后已经把它加进来,json_decode和json_encode,想走捷径的,唉,靠人不如靠已,以下是我写的一个方法.
一,参考xml文件如下
<?xml version="1.0" encoding="UTF-8" <humans> <zhangying> <name>张映</name> <sex>男</sex> <old>28</old> </zhangying> <tank> <name>tank</name> <sex> <hao>yes</hao> <aaaa>no</aaaa> </sex> <old>28</old> </tank> </humans>
ログイン後にコピー
二,xml转换成json
利用simplexml,代码如下:
public function xml_to_json($source) { if(is_file($source)){ //传的是文件,还是xml的string的判断 $xml_array=simplexml_load_file($source); }else{ $xml_array=simplexml_load_string($source); } $json = json_encode($xml_array); //php5,以及以上,如果是更早版本,?下?JSON.php return $json; }
ログイン後にコピー
三,json
转换成xml,利用递归函数,代码如下:
public function json_to_xml($source,$charset='utf8') { if(emptyempty($source)){ return false; } $array = json_decode($source); //php5,以及以上,如果是更早版本,?下?JSON.php $xml ='<!--l version="1.0" encoding="'.$charset.'-->'; $xml .= $this->change($array); return $xml; } public function change($source) { $string=""; foreach($source as $k=>$v){ $string .="<".$k.">"; if(is_array($v) || is_object($v)){ //判断是否是数组,或者,对像 $string .= $this->change($v); //是数组或者对像就的递归调用 }else{ $string .=$v; //取得标签数据 } $string .=""; } return $string; }
ログイン後にコピー
上面的方法json_to_xml,可以支持
教程网址:
欢迎收藏∩_∩但请保留本文链接。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
4週間前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最高のグラフィック設定
4週間前
By 尊渡假赌尊渡假赌尊渡假赌
アサシンのクリードシャドウズ:シーシェルリドルソリューション
2週間前
By DDD
R.E.P.O.誰も聞こえない場合はオーディオを修正する方法
4週間前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.チャットコマンドとそれらの使用方法
4週間前
By 尊渡假赌尊渡假赌尊渡假赌

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
Gmailメールのログイン入り口はどこですか?
7523
15


CakePHP チュートリアル
1378
52


Steamのアカウント名の形式は何ですか
81
11


NYTの接続はヒントと回答です
21
74

