程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php實現xml與json之間的相互轉換功能實例

php實現xml與json之間的相互轉換功能實例

編輯:PHP綜合

本文實例講述了php實現xml與json之間的相互轉換功能。分享給大家供大家參考,具體如下:

用php實現xml與json之間的相互轉換:

相關函數請查看php手冊。

一、參考xml如下

<?xml version="1.0" encoding="UTF-8"?>
<humans>
<zhangying>
<name>張三</name>
<sex>男</sex>
<old>26</old>
</zhangying>
<tank>
<name>tank</name>
<sex>
<hao>yes</hao>
<aaaa>no</aaaa>
</sex>
<old>26</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(empty($source)){
return false;
}
//php5,以及以上,如果是更早版本,請查看JSON.php
$array = json_decode($source);
$xml ='';
$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,可以支持<name>aaaa</name>,不支持<name type='test'>aaaaa</name>看代碼就能看明白.

PS:本站還提供了如下XML與JSON相關工具,方便大家參考使用:

在線XML/JSON互相轉換工具:
http://tools.jb51.net/code/xmljson

php代碼在線格式化美化工具:

http://tools.jb51.net/code/phpformat

在線XML格式化/壓縮工具:
http://tools.jb51.net/code/xmlformat

json代碼在線格式化/美化/壓縮/編輯/轉換工具:
http://tools.jb51.net/code/jsoncodeformat

C語言風格/HTML/CSS/json代碼格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json

更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP中json格式數據操作技巧匯總》、《PHP針對XML文件操作技巧總結》、《PHP基本語法入門教程》、《PHP數組(Array)操作技巧大全》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved