php实现xml与json之间的相互转换功能实例

作者:dodott 时间:2023-11-22 05:38:00 

本文实例讲述了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>看代码就能看明白.

希望本文所述对大家PHP程序设计有所帮助。

标签:php,xml,json
0
投稿

猜你喜欢

  • 一个网页设计师的成长经历

    2008-05-27 12:38:00
  • python数据可视化Pyecharts库sankey修改桑葚图颜色

    2023-09-04 08:56:13
  • python实现会员管理系统

    2023-11-13 19:44:46
  • oracle数据库sql的优化总结

    2024-01-23 16:05:11
  • 一文搞懂Python中列表List和元组Tuple的使用

    2022-10-09 02:24:58
  • Python列表对象实现原理详解

    2022-09-07 10:24:58
  • 详解OpenCV和PIL读取和显示图像的差异

    2021-07-06 22:17:22
  • Python 虚拟机集合set实现原理及源码解析

    2023-11-20 11:36:13
  • 简单form标准化实例——语义结构

    2007-06-20 16:32:00
  • 详解Selenium+PhantomJS+python简单实现爬虫的功能

    2023-03-09 01:09:00
  • Python编程之gui程序实现简单文件浏览器代码

    2021-08-20 11:09:36
  • Vue中的字符串模板的使用

    2024-05-09 10:42:52
  • MySQL基础教程第一篇 mysql5.7.18安装和连接教程

    2024-01-15 18:55:19
  • 详解Django admin高级用法

    2021-08-08 23:55:38
  • JAVA 18位身份证号码校验码的算法

    2023-07-07 09:04:12
  • python生成ppt的方法

    2021-11-08 11:50:48
  • python切片的步进、添加、连接简单操作示例

    2022-09-10 01:26:34
  • .net连接Mysql封装类代码 可直接调用

    2024-01-14 15:16:16
  • Python对切片命名的实现方法

    2023-09-30 09:43:15
  • 最全的mysql查询语句整理

    2024-01-27 03:10:01
  • asp之家 网络编程 m.aspxhome.com