今天在网上想找个将xml转成json的方法,找了半天没找到,找到了,根本没有什么用,有一个service_JSON说的挺像真的,找开后就一个JSON.php,php5.0以后已经把它加进来,json_decode和json_encode。想走捷径的,唉,靠人不如靠已。以下是我写的一个方法
一,参考xml文件如下
代码如下 | 复制代码 |
|
二,xml转换成json
利用simplexml
代码如下 | 复制代码 |
public function xml_to_json($source) { 三,json |
转换成xml
利用递归函数
代码如下 | 复制代码 |
public function json_to_xml($source,$charset='utf8') { if(emptyempty($source)){ return false; } $array = json_decode($source); //php5,以及以上,如果是更早版本,?下?JSON.php $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,可以支持